Apache Solr Facet 搜索 Space

Apache Solr Facet Search with Space

我是 Solr Facet Search 的新手。我正在使用 Apache Solr 搜索来搜索一些数据,我曾对某些列使用 Facet 来获取计数,但如果该字段中有 space 或特殊字符,则它已被单独计算在内。我已经使用 link Apache Solr facet search exclude space 中的解决方案来避免 space 但我的问题仍然存在

我在看到上面 link 后修改的 Schema.XML 文件是

 <schema name="solr_quickstart" version="1.1">
 <types>
  <fieldType name="string" class="solr.StrField"/>
  <fieldType name="text" class="solr.TextField">
    <analyzer>
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
  </fieldType>
 <fieldType name="text_not_tokenized" class="solr.TextField">
  <analyzer>
    <tokenizer class="solr.KeywordTokenizerFactory"/>
  </analyzer>
</fieldType>
  <fieldType name="int" class="solr.TrieIntField"/>
 <fieldType name="UUIDField" class="solr.UUIDField"/>
 </types>
 <fields>
<field name="id" type="UUIDField" indexed="true"  stored="true"/>
<field name="caseid" type="int" indexed="true"  stored="true"/>
<field name="casenumber" type="text" indexed="true"  stored="true"/>
<field name="casestatus" type="text" indexed="true"  stored="true"/>
<field name="casetype" type="text" indexed="true"  stored="true"/>
<field name="closeddate" type="text" indexed="true"  stored="true"/>
<field name="courtname" type="text" indexed="true"  stored="true"/>
<field name="courtabbr" type="text" indexed="true"  stored="true"/>
<field name="fileddate" type="text" indexed="true"  stored="true"/>
<field name="judgename" type="text" indexed="true"  stored="true"/>
<field name="lastupdated" type="text" indexed="true"  stored="true"/>
<field name="maindefendant" type="text" indexed="true"  stored="true"/>
<field name="mainplaintiff" type="string" indexed="true"  stored="true"/>
<field name="all" type="string" docValues="true" indexed="true" stored="false" multiValued="true"/>


 </fields>

<defaultSearchField>casenumber</defaultSearchField>
<uniqueKey>id</uniqueKey>
<copyField source="casenumber" dest="all"/>
<copyField source="casestatus" dest="all"/>
<copyField source="casetype" dest="all"/>
<copyField source="courtname" dest="all"/>
<copyField source="courtabbr" dest="all"/>
<copyField source="judgename" dest="all"/>
<copyField source="maindefendant" dest="all"/>
<copyField source="mainplaintiff" dest="all"/>

</schema>

请任何人以正确的方式指导我配置我的 Schema.XML 文件

你的问题是分词器。

这会将字段值拆分为不同的术语,每个术语在分面查询中都有自己的计数。为避免这种情况,您可以删除分词器(或者使用其他分词器)。结果将是,整个领域将是一个学期。这是一个问题,如果您的文本字段中有一个 "subject"。

我遇到了同样的问题并尝试使用受保护的词,但不会应用于分词器。它更多(仅?)用于词干提取:solr not tokenizing protected words