elasticsearch mapping 필드
2529 단어 elasticsearch
keyword
유형을 가지고 집합과 정렬을 할 수도 있고, text
를 가지고 전체 텍스트 검색을 할 수도 있습니다.예를 들면 다음과 같습니다.PUT my_index
{
"mappings": {
"type": {
"properties": {
"city": {
"type": "text",
"fields": {
"raw": {
"type": "keyword"
}
}
}
}
}
}
}
PUT my_index/type/1
{
"city": "New York"
}
PUT my_index/_doc/2
{
"city": "York"
}
GET my_index/_search
{
"query": {
"match": {
"city": "york"
}
},
"sort": {
"city.raw": "asc"
},
"aggs": {
"Cities": {
"terms": {
"field": "city.raw"
}
}
}
}
이렇게
city
필드에는 두 가지 속성이 있습니다. 각각 text
과 keyword
, city
필드는 전문 검색, city.raw
정렬과 집합으로 사용할 수 있습니다.그 밖에 서로 다른 analyzer
를 사용할 수 있다. 예를 들어 우리는 standard analyzer
을 사용하여 단어를 구분할 수 있고, 동시에 english analyzer
를 사용하여 단어를 어근으로 바꿀 수 있다.예:PUT my_index
{
"mappings": {
"properties": {
"text": {
"type": "text", //text `standard` analyzer
"fields": {
"english": {
"type": "text",
"analyzer": "english" // text.english `english ` analyzer
}
}
}
}
}
}
PUT my_index/_doc/1
{ "text": "quick brown fox" }
PUT my_index/_doc/2
{ "text": "quick brown foxes" }
GET my_index/_search
{
"query": {
"multi_match": {
"query": "quick brown foxes",
"fields": [
"text",
"text.english"
], // text and text.english fields and combine the scores
"type": "most_fields"
}
}
}
텍스트 필드는 첫 번째 데이터
fox
와 두 번째 데이터foxes
를 포함하고, text.english
필드는 두 번째 데이터fox
를 포함한다. 왜냐하면 두 번째 데이터foxes
의 어근은 fox
이기 때문이다.또한 조회 문장은 standard analyzer
과english analyzer
에 의해 해석되고 어근은 foxes
과fox
를 포함하는 문서를 받아들여 더 많은 문서와 일치할 수 있다.검색 어근을 통해 문서의 관련성을 높일 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
kafka connect e elasticsearch를 관찰할 수 있습니다.No menu lateral do dashboard tem a opção de connectors onde ele mostra todos os clusters do kafka connect conectados atu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.