問題在這裏很簡單。您正試圖在標記化字段(文本)方面。這意味着每個令牌將被分開計數。我建議你添加新的字段(在schema.xml文件中),你將使用與字段Make
相同的數據(例如使用複製字段)來提供。這個新字段應該是帶KeywordTokenizer的字符串或文本。
請看下面的例子。我添加了兩種類型:string和text_not_tokenized。然後定義了兩個字段Make_string和Make_nonTokenized。當小面在他們每個人,你應該看到 「福特嘉年華」
所以,你可以查詢
http://Siteurl:8080/solr/metro/select?q=*:*&rows=0&wt=json&indent=true&facet=true&facet.field=Make_string
或
http://Siteurl:8080/solr/metro/select?q=*:*&rows=0&wt=json&indent=true&facet=true&facet.field=Make_nonTokenized
。
...
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
<fieldType name="text_not_tokenized" class="solr.TextField">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
</analyzer>
</fieldType>
...
<field name="Make_string" type="string">
<field name="Make_nonTokenized" type="text_not_tokenized">
....
嗨 我排序了這一點自己。在Schema.xml文件中,我只需要將Make字段類型設置爲字符串,它之前已添加爲文本 – 2014-12-05 13:07:01