2016-09-21 2 views
0

は、私は、バックエンドとしてelasticsearchと検索インデックスを持っている:ジャンゴ・ヘイスタック(elasticsearch)オートコンプリートは、検索語に部分文字列の結果を与える

class MySearchIndex(indexes.SearchIndex, indexes.Indexable): 
    ... 
    name = indexes.CharField(model_attr='name') 
    name_auto = indexes.NgramField(model_attr='name') 
    ... 

私はelasticsearchで値を次があるとします。

Cable
Magnet
Network
Internet
Switch
私は 'NETW' を検索し実行すると

は、それはまた、ネットワークとともにマグネット & インターネットを返しました。他のテストケースを使用すると、haystackはnet in netwのように、上記の例のように部分文字列も検索していると思います。ここで

は、コードは次のとおりです。

sqs = sqs.filter(category='cat_name').using(using) 
querried = sqs.autocomplete(name_auto=q) 

もしてみました:

querried = sqs.autocomplete(name_auto__contains=q) 

どのように私はこの問題を解決し、それが正確な検索語が含まれている結果のみを返すように取り組んで作ることができますか? 1.9.1 elasticsearchの== 1.9.0

答えて

0

ジャンゴ - 干し草の山== 2.4.1 Djangoの==を使用して

はジャンゴ - hesabのデフォルト設定が返されますdjango-hesab

であなたのelasticsearchバックエンドの設定をカスタマイズします正確な検索結果。

関連する問題