对SOLR 4.1中的空格短语使用termfreq(field,term)函数

时间:2013-03-17 18:39:57

标签: search solr analyzer term phrase

我正在使用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"/>

1 个答案:

答案 0 :(得分:0)

当您使用WhitespaceTokenizerFactory时,术语iphone 4s不会作为术语存在 您可以使用KeywordTokenizerFactory进行索引,这不会对单词进行标记,并且短语应该可用。
否则,您可以检查哪些选项可以为您组合单词。