2

この質問は、Whooshバックエンドを使用したDjangoHaystackに関するものです。検索でスペルの提案を使用したいと思います。問題は、それがあまりにも多くを示唆しているということです。

リンゴとオレンジの2つのモデルがあるとします。

私がこのような何かを持っている場合:

result = SearchQuerySet().models(Apples).filter(
    content=escaped_value).spelling_suggestion(escaped_value)

実際にOrangesモデルを調べて、そこからスペルの提案を返します。モデル(リンゴ)の制限が機能していないようです。

「text」属性をdocument=Trueとして、両方のモデルにインデックスを設定しています。スペルがオンになっています。バックエンドとしてWhooshを使用しています。

4

1 に答える 1

2

Haystackは、 document = True(私の場合はすべてのモデルの主要な検索フィールドであり、同じ名前のフィールド)を持つフィールドに基づいてスペル候補を作成するため、これが問題になります。したがって、モデルはまったく気にせず、常にすべてのナレッジベースを検索します。

私は干し草の山に問題を提出し、それを掲示板に持ち出しました。開発は非常に役立ちます:http: //groups.google.com/group/django-haystack/browse_thread/thread/025e5ed42ccde8b9#

問題: http: //github.com/toastdriven/django-haystack/issues/#issue/124

于 2009-11-12T13:17:16.653 に答える