本地参数

本地参数是 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