私のエラスティックサーバにテキストのインデックスがあります。 は、私はこのようなnグラムのトークナイザを実装している:検索パターンの最小文字数以上でngramを使用してテキスト内を検索する
"analysis": {
"analyzer": {
"ngram_analyzer": {
"type": "custom",
"tokenizer": "ngram_tokenizer"
}
},
"tokenizer": {
"ngram_tokenizer": {
"type": "ngram",
"min_gram": "3",
"max_gram": "7"
}
}
},
は、私は、クエリマッチ「地獄」 を配置すると
「こんにちは、美しい世界エル」
私がそれをしたい私のデータがあるとしましょう私の最初の単語(こんにちは)とellという単語も見つからないので、私は自分の検索パターンを「ブレイク」して、ちょうどそれを自分のデータで見つけ出すのをやめたい(0123ありがとうございます
こんにちは "Hel、ell、llo、Hell、ello、Hello"とトークン化されます - > "ell"とellで検索しても、結果は1つだけです。 - > "こんにちは美しい世界のell"。 あなたは文章のリストがあり、1つは「こんにちは美しい世界」で、もう1つは「美しい世界のell」であり、「ell」を検索すると、トークナイザが索引付けした方法であるため、 – mirzak
私はあなたに同意しますが、私は地獄を探していました。地獄という言葉を手に入れたいと思います。私はそれを探していませんでした。文字は少なく、Hもありません。 –
私は理解できません。検索者が私の言葉をHel、ell、hellに壊しているだけでなく、Hellフレーズを検索するのではなく –