2

Solrで多言語ステミングを機能させようとしています。LangDetectLanguageIdentifierUpdateProcessorFactory公式のSolrガイドに従って、言語検出をセットアップしました。言語が認識され、次のような動的フィールドがたくさんあります。

  • 説明_en
  • description_de
  • description_fr
  • ...

これは適切にステミングされています。

ここで問題になるのは、非常に多くのフィールドをどのように検索するかということです。可能な数十の言語フィールドを検索するたびに長いクエリを作成することは、賢明な選択肢とは思えません。私はcopyField次のように使用してみました:

<copyField source="description_*" dest="text"/>

textしかし、私がそうすると、フィールドでステミングが失われます。

フィールドはのようにtext定義されsolr.TextFieldますsolr.WhitespaceTokenizerFactorytextフィールドを適切に設定していない可能性がありますか、それともどのように設定すればよいですか?

4

1 に答える 1

0

複数のオプションがあります。

  1. あなたが言及したすべてのフィールドを検索します。常にいくらかのオーバーヘッドがあります: 使用するフィールドが多いほど、検索が遅くなります (徐々に)

  2. クエリ言語を認識し、必要なフィールドのみを検索しようとします。たとえば、認識済みのフィールドとデフォルトのフィールドなどです。ここで、このためのライブラリを見つけることができます

  3. Trey Graigner によると、1 つの分野で複数の言語を使用するカスタム ソリューションを開発することは可能であり、本番環境で機能する可能性があります。

質問は少し古いですが、その答えは他の人に役立つかもしれません。

于 2016-01-18T10:38:33.223 に答える