Solr多语听写
我正在使用Solr为.pdf或.docx等文档编制索引。这些文件是法语或英语的,我想对两种语言都使用密语 例如,如果我搜索“chevaux”,我想找到“cheval”(法语),如果我搜索“raise”,我想找到“raise”(英语)。Solr多语听写,solr,multilingual,Solr,Multilingual,我正在使用Solr为.pdf或.docx等文档编制索引。这些文件是法语或英语的,我想对两种语言都使用密语 例如,如果我搜索“chevaux”,我想找到“cheval”(法语),如果我搜索“raise”,我想找到“raise”(英语)。 有没有一种方法可以在不创建2个核心(一个用英语,一个用法语)的情况下实现这一点?有两个字段,一个是法语字段定义,另一个是英语字段定义。然后使用该功能将内容提交到正确的字段 搜索时,查询具有正确用户语言的字段,或者如果您不知道,则同时搜索这两个字段,或者使用语言检测
有没有一种方法可以在不创建2个核心(一个用英语,一个用法语)的情况下实现这一点?有两个字段,一个是法语字段定义,另一个是英语字段定义。然后使用该功能将内容提交到正确的字段 搜索时,查询具有正确用户语言的字段,或者如果您不知道,则同时搜索这两个字段,或者使用语言检测来尝试更好的猜测 您也可以将相同的内容索引到这两个字段中,但我最初的猜测是,这会给您带来奇怪的结果,有人输入一个法语单词,但由于英语的处理规则,如果您只索引到正确的字段,您将不会遇到这种情况 通过启用
langid.map
,您可以告诉Solr将内容索引到名为fieldname\u langcode
的字段中(其中fieldname从langid.fl
中提取)
langid.map
:启用字段名映射。如果为true,Solr将映射langid.fl
中列出的所有字段的字段名
如果您想更改默认的
fieldname\u langcode
命名,您可以使用langid.map.replace
或langid.map.pattern
,但我暂时不去管它们。是否可以在查询中使用语言检测?我不知道,所以您可能必须将其添加到应用程序中。搜索这两个字段是通常的方法(短查询会限制您对检测语言值的信任),目前在solrconfig I中有一个语言检测器。在schema.xml中,我有两个字段类型(text_en和text_fr)。如何设置我希望内容中的英文文档和内容中的法文文档中的内容?启用langid.map
-您可以在答案中给出的链接上看到所有参数的列表。好的,谢谢,这是工作。所以对于查询,我应该这样写:http://localhost:8983/solr/langue/select?q=content_fr:cheval%20OR%20content_en:cheval