我正在使用termfreq(字段,术语)SOLR function。这有效:
?fl=product_name,termfreq(product_name,"iphon")&q=iphone 4s //Found freq
但问题是像“iphone 4s”这样的术语有空格
?fl=product_name,termfreq(product_name,"iphon 4s")&q=iphone 4s //Return 0 freq
尽管该术语(短语)存在于doc中,但仍返回0 freq。所以,问题是,我可以使用termfreq()函数和完整的短语,如“iphone 4s”,以及如何使用?
我正在使用SOLR 4.1。和分析仪的领域是
<fieldType name="text_ws" class="solr.TextField">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
字段
<field name="product_name" type="text_ws" indexed="true" stored="true"/>
答案 0 :(得分:0)
当您使用WhitespaceTokenizerFactory
时,术语iphone 4s
不会作为术语存在
您可以使用KeywordTokenizerFactory进行索引,这不会对单词进行标记,并且短语应该可用。
否则,您可以检查哪些选项可以为您组合单词。