4

現在、バックエンドとしてapache-solrを使用してdjango-haystackを使用しています。

問題は、探している検索機能をアプリで実行できないことです。

  1. 単語内のサブパーツを検索する

    例えば。「buntu」を検索しても「ubuntu」は表示されません

  2. 類似の単語を検索する

    例えば。「ubuntu」を検索すると「ubuntu」が表示されます


どんな助けでも大歓迎です。

4

1 に答える 1

9

これは、実際には、クエリをHaystack(したがってSolr)に戻す方法に関するものです。~単語の後にアフターを使用すると、Solr/Luceneで「あいまい」検索を実行できます。

ubuntu~

buntuとの両方を返しubantuます。これについては、 Luceneのドキュメントを参照してください。

Haystackを介してこれをどのように通過させるかは、現在どのように使用しているかによって異なります。デフォルトのSearchFormを使用していると仮定すると、フォームのclean_qメソッドをオーバーライドして検索結果のすべての単語の末尾にチルダを追加するか、searchメソッドをオーバーライドして同じことを実行してから、 SearchQuerySet。

于 2010-01-21T16:13:46.953 に答える