0

オートコンプリートの目的でのみ、すぐに使用できるシンプルな Django/Haystack/Whoosh セットアップを使用していますが、電子メール アドレスの検索以外はすべて正常に動作します。と入力するとjoe、名前/電子メール アドレスが で始まるすべてのオブジェクトが取得されますjoeが、 と入力すると、電子メール アドレスjoe@を持つオブジェクトだけが取得されるわけではありませんjoe@@エスケープするかどうかに関係なく、シンボルが無視されているかのようです。Haystack のヘルプや Web のどこを探しても何も見つかりません。Haystack (またはそれは Whoosh ですか?) に@シンボルを認識させるにはどうすればよいですか?

...
class ContactIndex(indexes.SearchIndex):
    text = indexes.EdgeNgramField(document=True, use_template=True)
    full_name = indexes.CharField(model_attr='full_name', null=True)
    email = indexes.CharField(model_attr='email', null=True)
...
4

1 に答える 1

0

whoosh/qparser/default.pyの QueryParser の内部を調べる必要があります。

haystackはクエリ文字列を単独で解析しません whoosh_backend.py#L370

于 2013-01-23T14:31:34.687 に答える