codecamp

Solr查询中的本地参数

本地参数

本地参数是 Solr 请求中特定于查询参数的参数。

本地参数提供了将元数据添加到某些参数类型(如查询字符串)的方法。(在 Solr 文档中,本地参数有时被称为 LocalParams。)

本地参数被指定为参数的前缀。以下面的查询参数为例:

q=solr rocks

我们可以使用本地参数对此查询字符串进行前缀,为标准查询解析器提供更多的信息。例如,我们可以将默认的操作符类型更改为“AND”,将默认的字段更改为“title”:

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

这些本地参数会在默认搜索“title”字段的同时将查询更改为“solr”和“rocks”。

本地参数的基本语法

要指定一个本地参数,请在要修改的参数前插入以下内容:

  • 首先:{!
  • 插入由空格分隔的任意数量的 key=value
  • 以 } 结束并立即跟随查询参数

每个参数只能指定一个本地参数前缀。key-value 对中的值可以通过单引号或双引号引用,并且在带引号的字符串中使用反斜杠转义。

查询类型缩写

如果一个本地参数值没有名字出现,它会被赋予一个隐含的名字“type”。这允许在解析查询字符串时使用查询解析器类型的简短表示。从而:

q={!dismax qf=myfield}solr rocks

相当于:

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

如果没有指定“type”(显式或隐式),则默认使用 lucene 分析器。从而:

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
Solr扩展的DisMax查询解析器:eDismax
Solr分面搜索(Faceting)及其参数介绍
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

SolrCloud

SolrCloud配置和参数

如何使用AsciiDoc

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }