0

我在数据库列上使用 Solr 方面搜索。它成功返回数据:

<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>

我想确保只计算完整的单词。在上面的示例中,您可以看到“科学”和“天才”的计数应该是“科学”和“天才”。我怎样才能做到这一点?我可以加入拼写检查功能吗?

4

2 回答 2

0

这可能fieldType与您与标签字段相关联的底层证券有关。该字段值很可能被阻止或具有与之关联的其他分析器。我会建议两件事之一:

  1. 删除词干和/或其他处理以防止单词显示为部分。
  2. (推荐)在您的 schema.xml 中创建一个单独的字段tags_facetfieldType="string"并使用copyField指令将值提要复制到您的原始tags字段中。然后在这个新的tags_facet 字段上刻面。
于 2013-05-10T13:59:53.603 回答
0

使用 Solr 的 copyField 功能将原始字段复制到具有字符串 fieldType 的字段。如果值是一组单词,而不是字符串,则可以使用空格标记的字段类型(当然没有 ngram。)

于 2013-05-10T14:20:50.190 回答