12.3.19 fields - elasticsearch 중국어 문서
6044 단어 Elasticsearch
12.3.19 fields
fields
그것은 종종 색인이 다른 목적과 다른 방식의 같은 영역에 사용된다.이것은 멀티필드 다중 필드의 목적이다.예를 들어 문자열 필드는 전체 텍스트 검색을 위한 단어 필드로 사용할 수도 있고, 단어 필드 없이 검색하거나 집합할 수도 있다.
PUT /my_index
{
"mappings": {
"my_type": {
"properties": {
"city": {
"type": "string",
"fields": {
"raw": { # 1:city.raw city
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
}
PUT /my_index/my_type/1
{
"city": "New York"
}
PUT /my_index/my_type/2
{
"city": "York" # 2: city
}
GET /my_index/_search
{
"query": {
"match": {
"city": "york"
}
},
"sort": {
"city.raw": "asc" # 3:city.raw
},
"aggs": {
"Cities": {
"terms": {
"field": "city.raw" # 4:city.raw
}
}
}
}
[참고] Multi-fields는 변경되지 않습니다
_source
필드.[힌트] fields
설정은 같은 색인에 있는 같은 이름의 필드에 다른 설정을 허용합니다.새로운 멀티필드는 이미 존재하는 필드에 [PUT mapping API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html)
추가할 수 있습니다다분사기를 사용한 다중 필드(Multi-fields)
또 다른 다중 필드(multi-fields)의 그림은 단어가 같은 필드를 서로 다른 방식으로 나누어 더욱 잘 관련시키기 위한 것이다.예를 들어 우리는 한 필드를 색인해서 표준 분사기로 단어를 나눌 수도 있고, 영어 분사기로 그것들을 어근 형식으로 만들 수도 있다
PUT my_index
{
"mappings": {
"my_type": {
"properties": {
"text": { # 1:``text``
"type": "string",
"fields": {
"english": { # 2::``text.english`` ``english``
"type": "string",
"analyzer": "english"
}
}
}
}
}
}
}
PUT my_index/my_type/1
{ "text": "quick brown fox" } # 3: , ``fox`` ``foxes``
PUT my_index/my_type/2
{ "text": "quick brown foxes" } # 4: 3
GET my_index/_search
{
"query": {
"multi_match": {
"query": "quick brown foxes",
"fields": [ # 5: ``text`` ``text.english``
"text",
"text.english"
],
"type": "most_fields" # 6: 5
}
}
}
text
필드에는 단어fox
가 첫 번째 문서에 포함되고 두 번째 문서foxes
가 포함되어 있습니다.text.english
필드는 fox
두 문서에 포함되어 있습니다. foxes
의 어간 (is stemmed to) 은 fox
이기 때문입니다.검색 문자열도
text
필드의 표준 분사기에 의해 분사되고, text.english
필드의 영어 분사기에 의해 분사될 수 있다.어간화 필드는 foxes
의 조회도 fox
만 포함된 문서와 일치할 수 있도록 합니다.이것은 우리가 가능한 한 많은 문서와 일치할 수 있도록 허용한다.미어간화text
필드도 조회하여 정확하게 일치하는 문서에 대한 점수를 제공합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Embulk를 사용하여 ElasticCloud로 보내기Embulk에서 ElasticCloud에 보낼 수 있을까라고 생각비망록도 겸해 기술을 남깁니다 Embulk 설치 ElasticCloud (14 일 체험판) brew라면 아래 명령 입력 파일 만들기 파일 내용 seed...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.