我在一列数据库中使用Solr facet搜索。它成功返回数据:
<lst name="facet_counts">
<lst name="facet_queries"/>
<lst name="facet_fields">
<lst name="tags">
<int name="lol">58</int>
<int name="scienc">58</int>
<int name="photo">34</int>
<int name="axiom">27</int>
<int name="geniu">14</int>
</lst>
</lst>
<lst name="facet_dates"/>
<lst name="facet_ranges"/>
</lst>
我想确保只计算完整的单词。在上面的例子中,你可以看到'cienc'和'geniu'的计数应该是'科学'和'天才'。我怎样才能做到这一点?我可以加入拼写检查功能吗?
答案 0 :(得分:0)
这可能与您与标记字段关联的基础fieldType
有关。字段值最有可能被阻止或者与其相关联的其他分析器。我建议两件事之一:
tags_facet
创建单独的字段fieldType="string"
,并使用copyField指令将值Feed复制到原始tags
字段中。然后在这个新的tags_face
字段上进行分析。答案 1 :(得分:0)
使用Solr的copyField功能将原始字段复制到字符串fieldType的字段。如果值是一组单词而不是字符串,则可以使用空格标记字段类型(当然不包含ngram。)