Solr查询中的局部参数Local Parameters

摘要: Solr中的Local Parameters(局部变量或本地参数)主要指的是query的特定参数,局部参数可以用来对一些参数类型添加meta-data元数据。本文整理自Solr官方文档

语法

可以通过下面的语法来指定Local Parameters
1. 以{!开头
2. 插入key=value形式的键值对,多个键值对以空格分开
3. 以}结尾,然后跟上查询参数q

你可以指定每个参数只有一个本地参数前缀。键-值对中的值可以通过单引号或双引号引用,通过反斜杠转义含有引号的字符串。

实例

本地参数被指定为前缀。有如下一个查询:
q=solr rocks
我们可以使用Local Parameters给这个Standard Query Parser提供更多的信息。比如,可以将查询操作符改为AND,将默认查询字段设置为title
q={!q.op=AND df=title}solr rocks
这样,就使得查询在title字段进行,并且返回的结果中包含solrrocks

简写查询类型

如果Local Parameters参数值没有名字,那么它的名字是隐式的“type”。
一个简写形式如下:
q={!dismax qf=myfield}solr rocks
它等同于:
q={!type=dismax qf=myfield}solr rocks
如果没有指定“type”,默认用的是lucene parser
一个简写形式如下:
fq={!df=summary}solr rocks
它等同于:
fq={!type=lucene df=summary}solr rocks

指定以v为key的参数

有一种特殊的方式,可以将query的值以v为键设置到Local Parameters
有如下的查询参数:
q={!dismax qf=myfield}solr rocks
它等同于:
q={!type=dismax qf=myfield v='solr rocks'}

参数非关联化Parameter Dereferencing

参数非关联允许你使用另一个参数的值,而不是直接指定它。可以帮助你简化查询语句,解耦输入的参数,避免前端的输入与solrconfig.xml中参数定义的冲突。
有如下的查询参数:
q={!dismax qf=myfield}solr rocks
它等同于:
q={!type=dismax qf=myfield v=$qq}&qq=solr rocks

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cj96248

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值