当用户尝试搜索包含在引号中的多个作品的术语时,我遇到了一个问题。我正在使用SolrNet来查询Solr。
例如,如果用户搜索“肥料”,我会收回正确的结果。然而,寻找“肥料报告”却没有带来任何结果。
我可以看到实际查询solr的唯一代码如下所示,其中term
是搜索词,qo
是我的查询选项,包含起点和行数。
_solr.Query(string.IsNullOrEmpty(term) ? SolrQuery.All : new SolrQuery(term), qo);
我已经看过在线文章,see here提到使用Quoted
,这是正确的方法吗?或者这是应该在我的schema / solr配置文件中配置的东西吗?
继毛里西奥的评论之后,我在下面添加了部分我的solr配置xml,显示我如何使用dismax:
<requestHandler name="select" class="solr.SearchHandler" default="true">
<lst name="defaults">
<str name="defType">edismax</str>
<int name="rows">10</int>
<str name="df">title</str>
<str name="qf">title^1000 text^1 item_type_search^0.1 category_search^0.1 topic_search^0.1</str>
<str name="pf">title^1000 text^1 item_type_search^0.1 category_search^0.1 topic_search^0.1</str>
<str name="facet">true</str>
<str name="facet.mincount">1</str>
<str name="facet.field">category_id</str>
<str name="facet.field">item_type</str>
<str name="facet.field">topic_id</str>
<str name="facet.date">sort_date</str>
<str name="f.sort_date.facet.date.start">2000-01-01T00:00:00.00Z</str>
<str name="f.sort_date.facet.date.end">2050-01-01T00:00:00.00Z</str>
<str name="f.sort_date.facet.date.gap">+1YEAR</str>
</lst>
查看link here部分参数qf
,df
和pf
我正在使用dismax。