Elasticsearch의 NGram 분사기 처리 모호 일치
9191 단어 elasticsearch
나는 마음속으로 중얼거렸다. 데이터베이스는 어댑터 조회를 지원하지 않습니까?왜 데이터베이스로 직접 조회하지 않습니까?
말하자면 그래도 임무는 완수해야 한다.이전에 인터넷에서 한 문장을 보았는데 주로 Elasticsearch로 어댑터 조회를 처리하는 것이 적합하지 않다는 것이다. 그리고 나는 평론에서 작가가 분사기 NGram을 추천하는 것을 보았다.
이 분사기는 어댑터 조회를 일반적인 조회와 같이 신속하게 할 수 있다. 왜냐하면 이 분사기는 데이터 인덱스 단계에서 모든 일을 끝냈기 때문이다.
An n-gram can be best thought of as a moving window on a word. The n stands for a length. If we were to n-gram the word quick, the results would depend on the length we have chosen:
Length 1(unigram): [q, u, i, c, k] Length 2(bigram): [qu, ui, ic, ck] Length 3(trigram): [qui, uic, ick] Length 4(four-gram): [quic, uick] Length 5(five-gram): [quick] NGram 분사기를 어떤 필드의 분사기로 사용하려면 색인을 만들 때 지정할 수도 있고 맵 관계를 업데이트할 수도 있습니다.
{
"settings": {
"analysis": {
"analyzer": {
"ngram_analyzer": {
"tokenizer": "ngram_tokenizer"
}
},
"tokenizer": {
"ngram_tokenizer": {
"type": "ngram",
"min_gram": 1,
"max_gram": 30,
"token_chars": [
"letter",
"digit"
]
}
}
}
},
"mappings": {
"_default_": {
"properties": {
"Name": {
"type": "string",
"analyzer": "ngram_analyzer"
}
}
}
}
}
어떤 필드의 analyzer가ngram_로 지정되면analyzer, 이 필드의 검색은term이든 match든 어댑터 검색이 됩니다.
예를 들어, POST/index/type
{
"query": {
"term": {"Name": " "}
}
}
중국공상은행 XX지점을 받게 됩니다.
예를 들어, POST/index/type
{
"query": {
"match": {"Name": " "}
}
}
'중국공상은행 XX지점','공은행 XX지점','중국상업유치은행 XX지점'을 받을 수 있습니다.
match 조회는 키워드에 대해 단어를 나누고, Lucene의 기본 중국어 단어는 모든 중문자를 분리하는 것이다. 이렇게 하면'공','상'두 글자에 대한 어댑터 조회가 된다.
작성자:
링크:https://www.imooc.com/article/18578?block_id=tuijian_wz
모과망
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.