我正在尝试设置一个请求处理程序,它将以不同的数量增加某些字段。我有以下请求处理程序。
<requestHandler name="/select" class="solr.SearchHandler" default="true">
<lst name="defaults">
<str name="echoParams">explicit</str>
<str name="start">0</str>
<int name="rows">10</int>
<str name="defType">edismax</str>
<str name="qf">
title^50.0 searchTitle^7.0 keywords^5.0 content^1.0 text^1.0
</str>
<str name="pf">
title^50.0 searchTitle^7.0 keywords^5.0 content^1.0 text^1.0
</str>
<str name="df">text</str>
</lst>
</requestHandler>
然而,如果有的话,这些字段没有被正确提升。我注意到title
字段中包含搜索字词的文档在text
字段中的搜索字词数不高于任何文档。任意重新排列权重每次都会生成相同的文档顺序。
当我进入solr web界面/管理界面并进行搜索时,我得到相同的结果。但是,如果我明确选中edismax
复选框并在qf
和pf
框中输入字段提升数据,我会得到结果和我期望的权重。
事实上,我也尝试将rows
值更改为5并仍然收到相同的结果。看起来我的查询不是由/select
处理程序处理的,即使这是我在solr Admin UI中选择的内容以及当我创建HttpSolrServer
对象来执行查询时服务器。
我正在使用solr v4.8.0 任何帮助将不胜感激。
答案 0 :(得分:0)
检查solrconfig中的设置
<requestDispatcher handleSelect="false" >
如果要将select用作请求处理程序,则需要
<requestDispatcher handleSelect="true" >