Solr 多语言词干化

Solr multilingual stemisation

我正在使用 Solr 为 .pdf 或 .docx 等文档编制索引。这些文件是法语或英语的,我想对两种语言都使用词干化。

例如,如果我搜索 "chevaux",我想找到 "cheval"(法语),如果我搜索 "raise",我想找到 "raising"(英语)。 有没有一种方法可以在不创建 2 个核心(一个是英语,一个是法语)的情况下做到这一点?

有两个字段,一个具有您想要的法语字段定义,一个具有您想要的英语字段定义。然后使用 the Language Detection 功能将内容提交到正确的字段。

搜索时,作为用户查询具有正确语言的字段,或者如果您不知道,则同时搜索两者 - 或者使用语言检测来尝试做出更好的猜测。

您也可以将相同的内容索引到两个字段中,但我最初的猜测是它会给您带来奇怪的结果,有人输入法语单词,但由于英语的处理规则,您如果您只索引到正确的字段,就不会发生这种情况。

通过启用 langid.map,您可以告诉 Solr 将内容索引到名为 fieldname_langcode 的字段中(其中字段名是从 langid.fl 中提取的)。

langid.map: Enables field name mapping. If true, Solr will map field names for all fields listed in langid.fl.

如果您想更改默认的 fieldname_langcode 命名,您可以使用 langid.map.replacelangid.map.pattern,但我暂时不考虑这些。