繁体   English   中英

在SOLR查询中使用词干分析

[英]Using stemming in a SOLR query

我已经设置了SOLR,并在示例'collection1'中添加了一个文档。

<doc>
    <str name="id">3007WFP</str>
    <str name="name">Fishing</str>
    <str name="type">Ladies</str>
</doc>

我可以在界面中使用查询

name:*fishing*

但是我希望能够开始工作,这样我就可以输入fish并获得这份文件,因为fishing这个词已被扼杀了。 Lady被搜查时,我也希望能够找到Ladies

但是我试过了这个问题

name:fish

我没有结果。 我没有添加通配符,因为我知道它会匹配,并且只想测试词干功能。

我已经将名称和类型字段的模式类型更改为text_en ,我认为这包括词干 - 重新启动的SOLR和重新索引(点击优化)。

有什么我缺少或做错了,当你想使用词干时查询语法是否不同?

另一个奇怪的问题是从改变后text_generaltext_en一个搜索

name:Fishing

没有结果,即使它应该完全匹配..

单击“优化”不会重新索引文档。 它将简单地合并现有索引中的各个段,这意味着您的索引仍然是旧的。 所以一旦你重新发布即重新索引你的文件, name:fish应该匹配。

顺便说一下,您可以在http://localhost:8983/solr/#/collection1/analysis查看分析器正在做什么。 您可以选择fieldType并查看索引时发生的情况。 例如,使用此工具,您可以看到text_en类型,

fishing -> fish
ladies -> ladi

所以搜索type:lady将不符合此文档。 如果您还在“字段值(查询)”中指定了查询,则会突出显示匹配项(如果有)。

您必须删除文档并重新添加它们,以便新的fieldType更改生效。

有关stemming如何工作的详细信息以及可用的不同类型的茎,您可以在这里查看

在您的情况下,语言是英语,因此您可以使用PorterStemFilterFactory

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM