gpt4 book ai didi

solr - solr 搜索没有结果 q = * :*

转载 作者:行者123 更新时间:2023-12-05 00:44:42 26 4
gpt4 key购买 nike

使用 solr 4.6.0 以下查询返回结果:

solr/select/?q=*:*

但删除 q 参数会返回所有 结果,例如:

solr/select/

请求处理程序配置包含不变的:

<str name="q.alt">*:*</str>

q.alt应该在未提供 q 时定义查询,这两个查询不应该相同并返回结果吗?第一种形式无法返回文件的一些可能原因是什么?

其他背景

我正在使用 django-haystack 2.1.0 实际连接到 solr,在提供空查询的情况下,上述查询只是“最简单的失败案例”。我已经重载了 haystack SearchForm 以防止空查询返回空结果集,这适用于更旧版本的 solr 和 haystack 1.4。

如果没有提供任何值,Haystack 会“有用地”用 *:* 填充 q。不幸的是,这打破了上面的查询。我可以 monkey-patch haystack,但我宁愿在 solr 中解决问题。

请注意,带有填充(非空)q 参数的查询有效,例如

solr/select/?q=test

这将按预期返回结果。

最佳答案

找到解决方案。

使用的搜索处理程序 DisMaxQParserPlugin (defType dismax):

The DisMaxQParserPlugin is designed to process simple user entered phrases (without heavy syntax)...

q*:* 形式对 DisMax 解析器无效,但 q.alt 提供了一个后备方案,即 “..默认使用标准查询解析语法解析..”.

将搜索处理程序插件更改为 ExtendedDisMax (defType edismax) 解决了这个问题。

关于solr - solr 搜索没有结果 q = * :*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21010899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com