使用Solr搜索lname' smith',我得到了s s和“' smits'

时间:2017-05-31 15:00:14

标签: solr

我已在架构中定义了此字段,如下所示:<field name="lname" type="string" indexed="true" stored="true"/>

根据架构中的文档:

  

不分析StrField类型,而是逐字索引/存储。      它支持doc值,但在这种情况下,字段需要      单值且需要或具有默认值。

<fieldType name="string" class="solr.StrField" sortMissingLast="true" />

然而,当我查询lname:smith时,至少在前十名的回复中,我得到了震撼和微笑而不是史密斯。为什么史密斯没有被退回。 但是,当我尝试lname:smith *我得到很多结果 任何获得正确结果的指针都表示赞赏。 我正在使用Solr 6.3

1 个答案:

答案 0 :(得分:1)

在架构更改后,您是否重新编制了数据索引?您确定以前没有将该字段定义为solr.TextField吗?因为solr.StrField将整个值存储为索引中的单个术语。

使用analysis section on the Admin UI检查lname字段中生成的字词,并检查您是否在架构更改后重新编制了数据索引。您是否在更新处理程序中定义了一些其他特殊组件?