q.alt参数指定q时如何工作
How does q.alt param work when q is specified
我提到了 this section
我将 q
设为空,并使用 dismax
解析器添加了一个查询 q.alt=NAME:tokyo
。它按预期工作。
我在 q
中添加了一个查询,因为 NAME:london
它 return 什么也没做。我希望 return 匹配 NAME:london
的文档
找出原因我启用了debugQuery
并且查询被翻译成+DisjunctionMaxQuery:(((NAME:name:london) ^ 1.0) ())
我看不懂这个翻译。谁能澄清一下?
dismax 解析器不支持 Lucene 语法 (field:value
)。然而,edismax
(e 表示扩展 Dismax 解析器)确实如此。
如果您想提供查询作为常规 Lucene 查询语法,请改用 edismax 解析器。一般来说,你最好将查询作为 london - 即 q=london
然后使用 qf
告诉 edismax 你想要搜索哪些字段 - qf=NAME
.
然后您的查询字符串会变成 q=london&qf=NAME&defType=edismax
- 但是,使用旧的 dismax 解析器时,此查询的行为也会相同。
我提到了 this section
我将 q
设为空,并使用 dismax
解析器添加了一个查询 q.alt=NAME:tokyo
。它按预期工作。
我在 q
中添加了一个查询,因为 NAME:london
它 return 什么也没做。我希望 return 匹配 NAME:london
找出原因我启用了debugQuery
并且查询被翻译成+DisjunctionMaxQuery:(((NAME:name:london) ^ 1.0) ())
我看不懂这个翻译。谁能澄清一下?
dismax 解析器不支持 Lucene 语法 (field:value
)。然而,edismax
(e 表示扩展 Dismax 解析器)确实如此。
如果您想提供查询作为常规 Lucene 查询语法,请改用 edismax 解析器。一般来说,你最好将查询作为 london - 即 q=london
然后使用 qf
告诉 edismax 你想要搜索哪些字段 - qf=NAME
.
然后您的查询字符串会变成 q=london&qf=NAME&defType=edismax
- 但是,使用旧的 dismax 解析器时,此查询的行为也会相同。