2011-07-24 12 views
0

私はインストールされてSolrと干し草の山を持って、カスタムビューを作成しました:検索をどのように改善しますか?

from haystack.query import SearchQuerySet 
def post_search(request, template_name='search/search.html'): 
    getdata = request.GET.copy() 
    try: 
     results = SearchQuerySet().filter(title=getdata['search'])[:10] 
    except: 
     results = None 
    return render_to_response(template_name, locals(), context_instance=RequestContext(request)) 

このビューは、タイトルのみフィールドに完全一致を返します。私は 'i'や 'IN'や 'index'を検索すると 'index'という結果が得られますが、少なくともSQL LIKE '%string%'のようなものはどうすればいいですか?

また、haystackまたはsolrを使用して検索する方法のほとんどは?

その他の良い方法や検索の改善点をお教えください(実装もあわせてください)。

ありがとうございました!

答えて

1

Haystack/Solrを使用する場合、Haystack/Solrに特定のオブジェクトのインデックスを付ける必要があることを伝える必要があります。つまり、基本的な辞書のインデックスを入力するときに、検索エンジンを構築したいとします。接頭辞と一致するようにしたい場合は、単語Bostonの場合は、BBoBosなどとする必要があります。次に、現在の検索式がどんなものであっても返すことができるクエリを発行します結果。単語の一部を検索したい場合は、サフィックスツリーを作成してから、Solrが索引付けを行う必要があります。

詳細については、Haystackのテンプレートをご覧ください。 http://docs.haystacksearch.org/dev/best_practices.html#well-constructed-templates

あなたが求めている質問は、かなり一般的です。人々が何を探しているのかを具体的に説明するのに役立ちます。それでは、データをどのように索引付けするかを提案するのが簡単になります。がんばろう。

関連する問題