【问题标题】:How to validate solr query syntax using standard query parser如何使用标准查询解析器验证 solr 查询语法
【发布时间】:2020-02-18 06:14:27
【问题描述】:

我使用的是 solr 8.2 版本。在这里,我在 solr 仪表板查询屏幕中传递以下查询。例如

选择 * xyz 删除 * xyz xyz * abc。

Solr 返回上述查询的所有结果。我想了解 solr 如何在内部解析它。 并返回所有记录?

谢谢!

【问题讨论】:

    标签: solr solrj


    【解决方案1】:

    调试搜索结果的基本工具是 Solr 的“解释”机制,它通过在搜索查询中添加 &debug=true 来触发。这会为每个文档生成详细的评分信息。

    debug参数可以多次指定,支持以下参数:

    debug=query: 仅返回有关查询的调试信息。

    debug=timing: 返回有关查询处理时间的调试信息。

    debug=results:返回关于分数结果的调试信息(也称为“解释”)。

    默认情况下,分数解释以大字符串值的形式返回,使用换行符和制表符缩进以提高结构和可读性,但可以指定额外的 debug.explain.structured=true 参数以将此信息作为嵌套数据结构返回wt请求的响应格式。

    debug=all: 返回有关请求请求的所有可用调试信息。

    您也可以使用 solr 中的分析工具。进入后台,点击分析。

    有可用于 crome 浏览器的 Solr Query Debugger 扩展。这将有助于修改、执行和解释 solr 查询。 它可以在这里找到:Solr Query Debugger

    【讨论】:

    • 感谢@abhijit 的快速回复。
    • 我想限制无效的查询参数。 solr 中是否有任何功能可以实现这一点?
    • .什么是对你无效的查询参数...?
    • 如果我通过 : 它会返回所有 solr 标准工作的记录。取而代之的是,像我在描述中提到的那样,使用 *(asterisk) 传递任何文字,也会检索所有记录。
    • 感谢您的意见。我认为,这是 solr 标准查询解析器的默认行为。
    猜你喜欢
    • 1970-01-01
    • 2017-08-07
    • 1970-01-01
    • 2010-12-08
    • 2018-09-20
    • 2017-06-12
    • 1970-01-01
    • 2013-09-06
    • 2016-08-30
    相关资源
    最近更新 更多