【发布时间】:2014-01-10 04:28:59
【问题描述】:
使用 solr 4.6.0 以下查询返回 no 结果:
solr/select/?q=*:*
但删除 q 参数会返回 all 结果,例如:
solr/select/
请求处理程序配置包含不变量:
<str name="q.alt">*:*</str>
既然q.alt 应该在没有提供q 的情况下定义查询,那么这两个查询不应该相同并返回结果吗?第一个表格无法返回文件的可能原因有哪些?
附加背景
我使用django-haystack 2.1.0 来实际连接到 solr,在提供空查询的情况下,上述查询只是“最简单的失败案例”。我重载了 haystack SearchForm 以防止空查询返回空结果集,这适用于更旧版本的 solr 和 haystack 1.4。
如果没有提供值,Haystack 会“有帮助地”用 *:* 填充 q。不幸的是,这破坏了上面的查询。我可以猴子补丁干草堆,但我宁愿在 solr 中解决问题。
请注意,带有填充(非空)q 参数的查询可以工作,例如
solr/select/?q=test
这将按预期返回结果。
【问题讨论】:
-
对 solr/select 的查询返回什么?
-
我认为@jro 是对的,
?之前的/会碍事。 -
它返回相同的结果(如您所料 - 尾部斜杠不会改变请求路由到的位置。我将添加更多细节。
标签: solr django-haystack