Apache Solr Facet搜索空间

时间:2015-08-04 11:59:03

标签: solr facet

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

在看到上述链接后,我更改了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文件

1 个答案:

答案 0 :(得分:1)

你的问题是标记器。

这会将字段值拆分为不同的术语,并且每个术语都会在facet查询中获得它自己的计数。为避免这种情况,您可以删除标记器(使用其他标记器)。结果将是整个领域将是一个术语。如果您的文本字段中包含一个“主题”,则会出现此问题。

我遇到了同样的问题并尝试使用受保护的单词,这些单词不会应用于标记器。干预更多(仅限?):solr not tokenizing protected words

相关问题