0
予期しない結果を返す、私は次のマッピングを使用:へ] 1]部分検索と特殊文字の検索 2:私は次のシナリオの下で検索することができるはずですように私は、次のようにNGRAMアナライザを使用するために英語アナライザを変更した をElasticsearchが
PUT http://localhost:9200/movies/movie/1
{
"title" : "[email protected] movie"
}
クエリを次のように:
を次のように{
"settings": {
"analysis": {
"analyzer": {
"english_ngram": {
"type": "custom",
"filter": [
"english_possessive_stemmer",
"lowercase",
"english_stop",
"english_stemmer",
"ngram_filter"
],
"tokenizer": "whitespace"
}
},
"filter": {
"english_stop": {
"type": "stop"
},
"english_stemmer": {
"type": "stemmer",
"language": "english"
},
"english_possessive_stemmer": {
"type": "stemmer",
"language": "possessive_english"
},
"ngram_filter": {
"type": "edge_ngram",
"min_gram": 1,
"max_gram": 25
}
}
}
},
"mappings": {
"movie": {
"properties": {
"title": {
"type": "string",
"fields": {
"en": {
"type": "string",
"analyzer": "english_ngram"
}
}
}
}
}
}
}
言語アナライザの利点は、自分のデータをインデックスを取得します私は「$ PECI#44 m11ov」という文字列を探しています、クエリで210
{
"query": {
"multi_match": {
"query": "$peci#44 m11ov",
"fields": ["title.en"],
"operator":"and",
"type": "most_fields",
"minimum_should_match": "75%"
}
}
}
、理想的に私はこのために結果を得るべきではありません。ここで間違っ 何か?
おかげランダムを使用してしきい値を設定してみてください! – SSG