2013-03-06 230 views
0

我刚刚从solr3升级到solr4,在此过程中,我丢弃了旧数据并重新导入了我的文档。奇怪的是,当我运行/ select?q = *查询时,我得到的结果按预期返回,但是当我从上面的查询结果中挑出一个单词并运行它时,我得到0个结果。除*之外的任何查询都会返回0个结果。Solr 4返回0个查询结果,但返回“*:*”查询结果

我很困惑,并寻找解决问题的途径。

回答

2

看来您可能依赖于从Solr 3.6中弃用的默认搜索字段。
检查SOLR-2724 - Deprecate defaultSearchField and defaultOperator defined in schema.xml

您可以将qf param添加到请求处理程序中要搜索的字段。

df参数添加到您的查询请求处理程序。它命名默认字段。
您也可以使用带有edismax查询解析器的qf

+0

我认为你是专注,但我还没有弄清楚这个解决方案。 df被设置为唯一的id字段,并且在调试输出中确实将查询更改为id:search_term,但是这不是“fl”(字段列表)吗?我不太确定这里需要更改什么配置。 – 2013-03-06 07:38:33

+0

也许您正在考虑将eDisMax qf参数作为要搜索的字段列表。因为'fl'是作为结果的一部分返回的字段列表(而不是所有字段)。您是否启用了eDisMax并定义了qf? – 2013-03-08 14:31:09