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.replace
或 langid.map.pattern
,但我暂时不考虑这些。
我正在使用 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 inlangid.fl
.
如果您想更改默认的 fieldname_langcode
命名,您可以使用 langid.map.replace
或 langid.map.pattern
,但我暂时不考虑这些。