Elasticsearch 학습노트: multi-fields

2336 단어 Elastic
multi-fields
It is often useful to index the same field in different ways for different purposes. This is the purpose of multi-fields. For instance, a string field could be mapped as a text field for full-text search, and as a keyword field for sorting or aggregations. You can define as many fields with the fields parameter as you want. Please note that this option is only available for core data types and not for the objects.
필드를 여러 가지 인덱스로 설정합니다.예를 들어 문자열은'text'형식으로 설정되어 전체 텍스트 검색에 사용되고,'keyword'형식으로 설정되어 정렬이나 집합에 사용됩니다.
# , 'type' "fields": 
# "raw" , city 。
PUT /my_index
{
  "mappings": {
    "my_type": {
      "properties": {
        "city": {
          "type": "text",
          "fields": {
            "raw": {
              "type": "keyword"
            }
          }
        }
      }
    }
  }
}

데이터 삽입
PUT /my_index/my_type/1
{
  "city": "New York"
}
PUT /my_index/my_type/2
{
  "city": "York"
}

검색 및 정렬 검색 필드는city이며, 텍스트 형식을 사용합니다.정렬은 도시를 사용했습니다.raw
GET /my_index/_search
{
  "query": {
    "match": {
      "city": "York"
    }
  },
  "sort": {
    "city.raw": "asc"
  }
}

좋은 웹페이지 즐겨찾기