无法识别 sol 局部参数
solr local parameters not recognized
我想使用参数取消引用,如下所述:
https://lucene.apache.org/solr/guide/8_1/local-parameters-in-queries.html
使用局部参数的例子对我不起作用,局部参数被解析为输入查询文本:
我的查询:
/solr/core/select?q={!dismax%20qf=name}blabla&debugQuery=true
解析后的查询信息给我:
"rawquerystring": "{!dismax qf=name}blabla",
"querystring": "{!dismax qf=name}blabla",
"parsedquery": "+(DisjunctionMaxQuery(((name:dismax)^5.0 | description:dismax))
DisjunctionMaxQuery(((name:qf)^5.0 | description:qf)) DisjunctionMaxQuery(((name:name)^5.0 |
description:name)) DisjunctionMaxQuery(((name:blabla)^5.0 | description:blabla)))~4",
"parsedquery_toString": "+((((name:dismax)^5.0 | description:dismax) ((name:qf)^5.0 |
description:qf) ((name:name)^5.0 | description:name) ((name:blabla)^5.0 |
description:blabla))~4)",
"explain": {},
...
我使用 edismax
作为默认查询解析器,我的默认 qf
是 name^5 description
我尝试使用其他查询解析器,结果总是一样。有什么想法吗?
您不能在 q
中直接使用 localparams 并将 edismax
设置为您的解析器。 edismax
查询解析器 does not support this since 7.2.
Since 7.2, you can only use certain localparams if defType is lucene or
func. The lucene parser is the default. Since you have changed defType
to edismax, localparams will not work.
我不确定为什么您的示例中仍然需要 localparams,因为您可以将 qf=name
直接添加到您的 URL?
我想使用参数取消引用,如下所述:
https://lucene.apache.org/solr/guide/8_1/local-parameters-in-queries.html
使用局部参数的例子对我不起作用,局部参数被解析为输入查询文本:
我的查询:
/solr/core/select?q={!dismax%20qf=name}blabla&debugQuery=true
解析后的查询信息给我:
"rawquerystring": "{!dismax qf=name}blabla",
"querystring": "{!dismax qf=name}blabla",
"parsedquery": "+(DisjunctionMaxQuery(((name:dismax)^5.0 | description:dismax))
DisjunctionMaxQuery(((name:qf)^5.0 | description:qf)) DisjunctionMaxQuery(((name:name)^5.0 |
description:name)) DisjunctionMaxQuery(((name:blabla)^5.0 | description:blabla)))~4",
"parsedquery_toString": "+((((name:dismax)^5.0 | description:dismax) ((name:qf)^5.0 |
description:qf) ((name:name)^5.0 | description:name) ((name:blabla)^5.0 |
description:blabla))~4)",
"explain": {},
...
我使用 edismax
作为默认查询解析器,我的默认 qf
是 name^5 description
我尝试使用其他查询解析器,结果总是一样。有什么想法吗?
您不能在 q
中直接使用 localparams 并将 edismax
设置为您的解析器。 edismax
查询解析器 does not support this since 7.2.
Since 7.2, you can only use certain localparams if defType is lucene or func. The lucene parser is the default. Since you have changed defType to edismax, localparams will not work.
我不确定为什么您的示例中仍然需要 localparams,因为您可以将 qf=name
直接添加到您的 URL?