本地参数

局部参数是 Solr 请求中特定于查询参数的参数。

局部参数提供了一种向某些参数类型(如查询字符串)添加元数据的方法。局部参数有时也称为 LocalParams。

局部参数指定为参数的前缀。例如,采用以下查询参数

q=solr rocks

我们可以用局部参数为这个查询字符串添加前缀,以便向标准查询解析器提供更多信息。例如,我们可以将默认运算符类型更改为“AND”,并将默认字段更改为“title”

q={!q.op=AND df=title}solr rocks

这些局部参数将更改查询,要求在默认情况下搜索“title”字段时匹配“solr”和“rocks”。

局部参数的基本语法

要指定局部参数,请在要修改的参数之前插入以下内容

  • {! 开头

  • 插入任意数量的键值对,用空格分隔

  • } 结尾,并立即跟上查询参数

你只能为每个参数指定一个局部参数前缀。键值对中的值可以用单引号或双引号引用,反斜杠转义在引号字符串中有效。

查询类型简写

如果本地参数值显示时没有名称,则会给它一个隐式名称“type”。这允许使用短格式表示查询解析器在解析查询字符串时使用的类型。因此

q={!dismax qf=myfield}solr rocks

等同于

q={!type=dismax qf=myfield}solr rocks

如果未指定“type”(显式或隐式),则默认使用标准查询解析器。因此

fq={!df=summary}solr rocks

等同于

fq={!type=lucene df=summary}solr rocks

使用 v 键指定参数值

本地参数中的特殊键 v 是指定该参数值的另一种方式。

q={!dismax qf=myfield}solr rocks

等同于

q={!type=dismax qf=myfield v='solr rocks'}

参数解引用

参数解引用或间接引用允许您使用另一个参数的值,而不是直接指定它。这可用于简化查询、将用户输入与查询参数分离或将前端 GUI 参数与 solrconfig.xml 中设置的默认值分离。

q={!dismax qf=myfield}solr rocks

等同于

q={!type=dismax qf=myfield v=$qq}&qq=solr rocks