我有以下字符串索引到solr。
<doc>
<field name="key">book self</field> </doc>
<doc>
<field name="key">bookself</field> </doc>
<doc>
<field name="key">my book self</field> </doc>
当我的查询字符串有单词key:“book self”时,我应该只获得第一个doc作为结果而不是第一个和第三个文档。我搜索的时候也一样 key:“self”它应该返回空文档。
请告诉我如何才能达到上述目标。
答案 0 :(得分:4)
如果您需要完全匹配,则应使用string
代替text_general
。如果出于某种原因,您确实需要text_general
来处理此文档,请使用<copyField/>
生成类型为string
的第二个字段,然后将其用于完全匹配。
答案 1 :(得分:1)
将字段类型更改为字符串。
确保您拥有以下条目
<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
不分析StrField类型,但索引/存储。
然后更改字段键的字段类型。
<field name="key" type="string" indexed="true" stored="true"/>