現在、バックエンドとしてapache-solrを使用してdjango-haystackを使用しています。
問題は、探している検索機能をアプリで実行できないことです。
単語内のサブパーツを検索する
例えば。「buntu」を検索しても「ubuntu」は表示されません
類似の単語を検索する
例えば。「ubuntu」を検索すると「ubuntu」が表示されます
どんな助けでも大歓迎です。
現在、バックエンドとしてapache-solrを使用してdjango-haystackを使用しています。
問題は、探している検索機能をアプリで実行できないことです。
単語内のサブパーツを検索する
例えば。「buntu」を検索しても「ubuntu」は表示されません
類似の単語を検索する
例えば。「ubuntu」を検索すると「ubuntu」が表示されます
どんな助けでも大歓迎です。
これは、実際には、クエリをHaystack(したがってSolr)に戻す方法に関するものです。~
単語の後にアフターを使用すると、Solr/Luceneで「あいまい」検索を実行できます。
ubuntu~
buntu
との両方を返しubantu
ます。これについては、 Luceneのドキュメントを参照してください。
Haystackを介してこれをどのように通過させるかは、現在どのように使用しているかによって異なります。デフォルトのSearchFormを使用していると仮定すると、フォームのclean_q
メソッドをオーバーライドして検索結果のすべての単語の末尾にチルダを追加するか、search
メソッドをオーバーライドして同じことを実行してから、 SearchQuerySet。