"mm":"2",
"q":"IBASEDESCRIPTION:(ankor sunnyvale tokyo^3 london labs)",
"defType":"dismax",
"fl":"score, IBASEDESCRIPTION",
"q.op":"AND",
"rows":"3",
"debug.explain.structured":"true",
"debugQuery":"on"这就是我在响应头中看到的。
mm=2,它意味着两个可选子句应该匹配。q.op is和-我假设条款之间的条件是
我希望以下字段不匹配:
Level 3 Communications-london
akamai-level 3-london但它们是结果的一部分。
有人能帮我理解这里的行为吗?
我怀疑这是因为^3 tokyo 字段中的。但这就是助推因素。。
发布于 2020-04-12 21:27:00
mm=2并不意味着两个可选子句应该匹配--它意味着两个子句应该匹配。q.op does not take effect when mm is set.
如果在查询中没有指定“mm”参数,或者在solrconfig.xml中指定为默认值,则使用q.op参数的有效值(在查询中、作为solrconfig.xml中的默认值或模式中的defaultOperator选项)来影响行为。
如果不看到对字段的分析和实际的值索引,就很难说出为什么会包含这些特定条目(调试查询将包括关于每个字段正在命中的术语以及它对得分的贡献的信息)。
您还应该在这里使用qf,而不是在使用dismax处理程序时出现字段名。
https://stackoverflow.com/questions/61177713
复制相似问题