我已在架构中定义了此字段,如下所示:<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
答案 0 :(得分:1)
在架构更改后,您是否重新编制了数据索引?您确定以前没有将该字段定义为solr.TextField
吗?因为solr.StrField
将整个值存储为索引中的单个术语。
使用analysis section on the Admin UI检查lname
字段中生成的字词,并检查您是否在架构更改后重新编制了数据索引。您是否在更新处理程序中定义了一些其他特殊组件?