Solr检测语言。如何在多个description_ *字段中进行搜索?

时间:2013-10-17 19:53:54

标签: search solr multilingual

我正在尝试使用Solr进行多语言干预。根据官方Solr指南,我使用LangDetectLanguageIdentifierUpdateProcessorFactory设置语言检测。语言被识别,现在我有一大堆动态字段,如:

  • description_en
  • description_de
  • description_fr
  • ...

哪些是适当的。

现在的问题是如何搜索这么多字段?每次搜索数十种可能的语言字段时进行长查询似乎不是一个明智的选择。我尝试使用copyField之类的:

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

但是当我这样做时,text字段中的词干就会丢失。

text字段定义为solr.TextField solr.WhitespaceTokenizerFactory。也许我没有正确设置text字段或者应该如何完成?

1 个答案:

答案 0 :(得分:0)

您有多种选择:

  1. 搜索您提到的所有字段。总会有一些开销:你使用的字段越多,搜索速度越慢(逐渐)

  2. 尝试识别查询语言并仅搜索必要的字段:例如已识别的字段和某些默认字段。 Here you can find library for this

  3. 在一个字段中开发包含多种语言的自定义解决方案,这可能并且可以在生产中使用according to Trey Graigner

  4. 这个问题有点陈旧,但也许这个答案可以帮助其他人。