Ngram 토크 나이저를 사용 중이고 min_length를 3, max_length를 5로 지정했습니다. 그러나 5보다 큰 단어를 검색해도 여전히 나에게 알려줍니다 그 결과. ES가 길이 6의 조합에 대한 색인을 생성하지 않을지라도 나는 여전히 기록을 검색 할 수 있습니다. 여기에 실종 된 이론이 있습니까? 그렇지 않다면, NGram의 max_length는 실제로 어떤 의미가 있습니까? 나는 '이 시도했다NGram Tokenizer를 사용하는 동안 ElasticSearch가 최대 NGram 길이를 준수하지 않음
GET ngramtest/MyEntity/_search
{
"query": {
"match": {
"testField": "000681"
}
}
}
에 대한
PUT ngramtest/MyEntity/123
{
"testField":"Z/16/000681"
}
AND,이 쿼리 이상하게 yeilds 결과 : I 시도 매핑이 ..
PUT ngramtest
{
"mappings": {
"MyEntity":{
"properties": {
"testField":{
"type": "text",
"analyzer": "my_analyzer"
}
}
}
},
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "my_tokenizer"
}
},
"tokenizer": {
"my_tokenizer": {
"type": "ngram",
"min_gram": 3,
"max_gram": 5
}
}
}
}
}
이 같은 테스트 개체를 인덱싱 다음 문자열 분석 :
POST ngramtest/_analyze
{
"analyzer": "my_analyzer",
"text": "Z/16/000681."
}
내가 잘못하면 누가 나를 교정 해줄 수 있습니까?
색인을 생성하고 JSON으로 검색 할 때 완벽하게 작동했습니다. BIG 감사합니다. :). 그러나 아직 .NET 응용 프로그램에서 사용되는 .NET (NEST) API를 사용하여이를 테스트하고 있습니다. ;) –
굉장한, 그것이 기쁜 데 도움이! – Val