无法识别 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 作为默认查询解析器,我的默认 qfname^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?