1

現在、Django ベースの多言語プロジェクトで全文検索に Djapian + Xapian を使用しています。言語ごとにステミングを使用するために、言語ごとに異なる検索インデックスを作成します。Django 内部では、ユーザーの言語に基づいて、どのステミングとどの検索インデックスを使用するかを決定します。それは問題なく動作しますが、Djapian はもはや維持されていないようで、コードはどんどん壊れていきます。そこで、haystack に切り替えましたが、haystack は、必要な動的ステミングを提供していないようです。

haystack バージョン 1.x、バージョン 2.x、またはその他の Python/Django ベースのバックエンドで、この可能性を統合する方法はありますか?

4

1 に答える 1

0

私が理解しているように、コンテンツを正しくインデックス化できますが、正しいステマーで検索することはできませんか? それとも、インデックス作成時と検索時にステマーを変更したいですか?

xapian-haystack はデフォルトでに基づいてステミング言語を設定しsettings.HAYSTACK_XAPIAN_LANGUAGEますが、インスタンスをインスタンス化したときに検索する場合は、ステミング言語を変更する検索を構築する前SearchBackendに設定できる必要があります。SearchBackend.language

私はこれをまったく試していないことに注意してください。 github のコードを見ただけです。

また、haystack は優れていますが、xapian を直接使用する方がよい場合もあります。十分に文書化されており、複雑な xapian のみの機能の場合は、より迅速かつ簡単になる可能性があります。すでにアプリケーションを持っている場合は明らかにそうではありませんが、始めたばかりの場合は実行する価値があります。:)

于 2012-02-07T22:25:40.053 に答える