wenchanter 2016-03-20
solr中有个概念叫做localParams,翻译过来叫做局部变量,用来添加局部信息到某个变量的,比如假设我们要传递给solr查询的值为hello world,但是在查询hello的时候指定使用的queryParser或者是其他属性,则可以使用局部变量:q={!q.op=AND df=title}hello world,这个表示当查询hello world时,使用的op是AND,默认查询title域。
1、 localParams的语法:
必须使用大括号括住localParams,并且大括号里面必须以!开头,大括号里面可以包含多个key=value,多个之间使用空格隔开,所以如果原先的值是foo,则添加localParams之后为{!k1=v1 k2=v2}foo。对于一个变量,只能使用一个localParams,如果对应的value中间有空格,可以使用单引号或者双引号引用起来。
2、简写形式
如果一个值没有对应的key,则会默认添加一个key叫做type,比如q={!dismax qf=myField}solr rock被改为q={!type=dismax qf=myfileld}solr rocks
3、值的另一种表示方式
可以使用另一种方式表示值,用v作为key表示,比如原先的查询语句为q={!dismax qf=myfiled}solr rocks 可以使用q={!dismax qf=myfield v='solr rocks'}替代。