不幸的是,如果不對schema應用任何修改就無法完成,因爲solr.StrField不會保留術語頻率信息。
報價從schema.xml中:
...
1.2: omitTermFreqAndPositions attribute introduced, true by default
except for text fields.
...
但是,如果你可以申請一些變化,那麼下面的工作(在Solr的4.5.1測試):
1)對模式進行以下更改之一:
- 將字段更改爲text_general (或任何solr.TextField字段);
<field name="point_statusses" type="text_general" indexed="true" stored="true" multiValued="true" />
- OR添加
omitTermFreqAndPositions="false"
到point_statusses定義:
<field name="point_statusses" type="string" indexed="true" stored="true" multiValued="true" omitTermFreqAndPositions="false"/>
2)通過術語頻率濾波器。 例子:
{!frange l=2 u=2}termfreq(point_statusses,'FREE')
或2至3 '免費' point_statusses:
{!frange l=2 u=3}termfreq(point_statusses,'FREE')
最後Solr的查詢可能恰好具有2 '免費' point_statusses
搜索文件看起來像這樣:
http://localhost:8983/solr/stack20746538/select?q=*:*&fq={!frange l=2 u=3}termfreq(point_statusses,'FREE')
您可以從_schema.xml_和_solrconfig.xml_中的查詢處理程序中添加'fields'和'types'嗎? – cheffe
完成希望你能幫忙;) – Xavier