[英]Default english stemming in SOLR
我正在尝试使用SOLR来制作简单的英语单词,但是由于某种原因我没有成功。
我的xml文档看起来像这样:
<add><doc>
<str name="id">1</str>
<str name="name">walked</str>
</doc>
<doc>
<str name="id">2</str>
<str name="name">walking</str>
</doc>
<doc>
<str name="id">3</str>
<str name="name">walks</str>
</doc>
</add>
在模式XML中,我将名称类型更改为“ text_en”
<field name="name" type="text_en" indexed="true" stored="true"/>
我没有做任何其他更改,我认为它应该可以工作(我尝试了一切:根据各种教程等为它们创建新的字段和新的fieldTypes,但是出现了问题,我不知道是什么)
还有一点,如果我尝试在SOLR( http://localhost:8983/solr/#/collection1/analysis
)的分析部分中分析这些单词,它将很好地工作。
例如:
字段值(索引)和字段值(查询)我输入值:步行。 我希望PorterStemFilter部分中的文本字段等于“ walk”。
但是当我在查询部分进行查询遍历时,它匹配0个值 ! 我希望它匹配所有值(步行,步行,步行)查询网址: http://localhost:8983/solr/collection1/select?q=*walking*&wt=json&indent=true
编辑
PS我多次重新索引,这不是问题。
编辑#2
非常感谢你。 现在一切都清楚了。 我将解释我今天不了解的内容,也许对某人有用。
如果您的网址是这样的
http://localhost:8983/solr/collection1/select?q=walking&wt=json&indent=true
您正在使用字段:“文本”(默认字段是文本),因为查询中没有指定的字段。
<field name="text" type="text_en" indexed="true" stored="false" multiValued="true"/>
如果要阻止特定字段而不是“文本”,则必须在url中指定它。 例如字段“名称”:
http://localhost:8983/solr/collection1/select?q=name:walking&wt=json&indent=true
还有一点不要忘记。 要阻止的字段属性“索引”必须设置为“ true”。 感谢帮助!
您的查询看起来不正确,请尝试这样查询:
http://localhost:8983/solr/collection1/select?q=name:walking&wt=json&indent=true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.