首页 > 代码库 > solr的LocalParams 学习笔记

solr的LocalParams 学习笔记

LocalParams 学习笔记:

主要从概念、基本语法、查询时type参数可以短格式化,参数值和参数反向引用这几个方面谈:

1  概念

LocalParams提供了一种方式,这种方式能够添加元数据到某一参数类型下。对这一个参数类型进行进一步的补充说明。

假定我们现在有一个已经存在的查询参数:
q=solr rocks

我们用LocalParams去前缀化这个查询字符串以提供更多的信息交给查询解析器,例如,改变lucene query parser的默认操作类型是"AND" 和默认字段为“title”
q={!q.op=AND df=title}solr rocks


2 基本语法

为表示一个LocalParam,参数需要被大花括号括住,并且在大括号内部以一个感叹号开始,包含大量的被空格分割的key=value对。
所以假如原始参数是:
foo,
应用LocalParams后将变成这个样子:
{!k1=v1 k2=v2 k3=v3}foo

由于LocalParams每个键值对参数前缀只有一个,无设计转义操作,但以一个“键值对”存在的值需要被单引号或者双引号引住,并且在内部用反斜杠进行转义。

例子:q={!type=dismax qf=‘myfield yourfield‘}solr rocks

3 查询时type参数可以短格式化

假如一个LocalParams 在没有名字情况下出现了,它将被给予一个默认的“type”名称。也就是说对于type类型,允许短格式表示,只给出参数值即可。
因此有:
q={!dismax qf=myfield}solr rocks   
等价于:  
q={!type=dismax qf=myfield}solr rocks

4 特殊参数v的作用

直接举例说明:
q={!dismax qf=myfield}solr rocks
等价于
q={!type=dismax qf=myfield v=‘solr rocks‘}


5 参数反向引用

直接举例说明:
q={!dismax qf=myfield}solr rocks
等价于
q={!type=dismax qf=myfield v=$qq}&qq=solr rocks













solr的LocalParams 学习笔记