2016-06-15 9 views
2

書籍の検索にはどのような種類の分析装置をElasticsearchに実装しますか?3文字の単語に曖昧さがあります

必要条件は、曖昧さがなければならず、3文字の単語があることです。

私は新鮮な洞察力を得たいので、コードを含めるつもりはありません。 しかし私が抱えている問題は、3文字の単語を間違って検索すると、 「dns」とタイプし、フィールド「dna」のある文書があると言えば、 優しさや言葉にdnsを持つものが得られます。

答えて

1

ファジークエリでファジーフィールドを使用することができますが、これにより最大編集距離を設定できるので、入力が非常に小さい単語の場合は長い単語が一致しません。

{ 
"fuzzy" : { 
    "user" : { 
     "value" :   "ki", 
     "fuzziness" :  2, 
     "prefix_length" : 1 
    } 
    } 
} 

上記のクエリは、文字「K」と文字「KI」で始まるすべての4文字の単語で始まるすべての3文字の単語に一致することになります。 2の曖昧さは、2つの編集が許可されていること、すなわち「i」を別の文字に変更してから別の文字を追加すること、または「ki」を維持しながら2つの文字を追加することを意味する。接頭辞の長さは、あいまいさが引き継がれる前に、elasticsearchに正確に照合する必要のある量を伝えます。

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html