solr-搜索-查询中的局部参数

网友投稿 686 2022-05-30

局部参数是Solr请求的特定的一种查询参数。局部参数提供了设置某些元数据的方法,比如,查询字符串。(在Solr文档中,局部参数有local parameters和LocalParams两种写法。)

局部参数指定参数的前缀,以下面的查询参数为例:

q=solr rocks

1

我们可以为这个查询串设置局部参数,来为标准查询解析器提供更多的信息。比如,我们修改默认操作符为AND和默认搜索域为“title”:

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

1

这样就能够在搜索过程中,查询“title”域中匹配的“solr”和“rocks”的结果。

局部参数的基本语法

要指定一个局部参数,在参数前查询下面内容:

以{!开始

接着是一些以空格分割的键值对

以}结尾,之后跟其他查询参数

你可以为每个参数指定一个局部参数。键值对中的值可以使用单引号或双引号、反斜杠转义。

查询类型的短形式

如果一个局部参数没有名称,默认使用“type”。这就允许分析查询字符串时使用短形式表示。比如:

q={!dismax qf=myfield}solr rocks

1

等同于:

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

1

如果没有指定“type”字段,默认使用Lucene解析器。比如:

fq={!df=summary}solr rocks

1

等同于:

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

1

使用“v”指定参数值

局部参数中的特殊的键“v”是指定该参数值的另一种方式。

q={!dismax qf=myfield}solr rocks

1

等同于:

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

1

参数的取值

solr-搜索-查询中的局部参数

相对于直接指定参数,还可以使用参数引用或间接寻址方式来使用其他参数。这样可以简化查询,与用户输入、或在在solrconfig.xml中配置的前端GUI参数解耦。

q={!dismax qf=myfield}solr rocks

1

等同于:

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

1

Lucene/Solr

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:pyspider 的安装
下一篇:【Verilog HDL 训练】第 12 天(数据通路)
相关文章