Solr 按顶部指定的搜索词提升结果
我将ApacheSolr3.1与drupal一起使用 如何在搜索字段中指定的顶部提升结果 例如,在搜索字段中,如果用户输入continue,solr将在顶部显示具有连续性的文档,在下面显示具有continue的文档,我希望显示具有continue的文档,而不是continuenceSolr 按顶部指定的搜索词提升结果,solr,Solr,我将ApacheSolr3.1与drupal一起使用 如何在搜索字段中指定的顶部提升结果 例如,在搜索字段中,如果用户输入continue,solr将在顶部显示具有连续性的文档,在下面显示具有continue的文档,我希望显示具有continue的文档,而不是continuence ^10.0似乎在过滤器链中有词干分析器,由于它的连续性和连续性,映射到同一根,将被同等对待 您需要检查正在使用的词干分析器,并根据需要获取一个词干分析器。默认的porter词干分析器非常具有攻击性,您可能需要一个不太
^10.0似乎在过滤器链中有词干分析器,由于它的连续性和连续性,映射到同一根,将被同等对待 您需要检查正在使用的词干分析器,并根据需要获取一个词干分析器。默认的porter词干分析器非常具有攻击性,您可能需要一个不太具有攻击性的选项 Solr目前不会将精确匹配提升到比生成相同根的其他术语更高的水平。
一种选择是在模式中有两个字段。
词干化(title_词干化)和非词干化版本(title-不带词干化过滤器) 示例- schema.xml-
<!-- Without Porter Stemmer -->
<fieldType name="text_non_stemmed" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<!-- With Porter Stemmer -->
<fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
<field name="title" type="text" indexed="true" stored="true" termVectors="false" omitNorms="false"/>
<field name="title_non_stemmed" type="text_non_stemmed" indexed="true" stored="true" termVectors="false" omitNorms="false"/>
<copyField source="title" dest="title_non_stemmed"/>
谢谢帕蒂尔,我刚刚添加了,但它给了我相同的鲁尔特plz帮助。您的字段类型似乎是相同的“文本”。已使用示例编辑了答案。此外,您可能需要重建solr的索引^2%20title ^1我不确定是否收到您的评论。用完整的配置修改了答案。
<requestHandler name="search" class="solr.SearchHandler" default="true">
<lst name="defaults">
<str name="echoParams">explicit</str>
<str name="defType">dismax</str>
<str name="qf">
title_non_stemmed^1 title^0.8
</str>
<str name="q.alt">*:*</str>
<str name="rows">10</str>
<str name="fl">*,score</str>
</lst>
</requestHandler>
http://localhost:8983/solr/select/?q=continuing