Solr查詢(xún)中的本地參數(shù)

2018-11-24 14:52 更新

本地參數(shù)

本地參數(shù)是 Solr 請(qǐng)求中特定于查詢(xún)參數(shù)的參數(shù)。

本地參數(shù)提供了將元數(shù)據(jù)添加到某些參數(shù)類(lèi)型(如查詢(xún)字符串)的方法。(在 Solr 文檔中,本地參數(shù)有時(shí)被稱(chēng)為 LocalParams。)

本地參數(shù)被指定為參數(shù)的前綴。以下面的查詢(xún)參數(shù)為例:

q=solr rocks

我們可以使用本地參數(shù)對(duì)此查詢(xún)字符串進(jìn)行前綴,為標(biāo)準(zhǔn)查詢(xún)解析器提供更多的信息。例如,我們可以將默認(rèn)的操作符類(lèi)型更改為“AND”,將默認(rèn)的字段更改為“title”:

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

這些本地參數(shù)會(huì)在默認(rèn)搜索“title”字段的同時(shí)將查詢(xún)更改為“solr”和“rocks”。

本地參數(shù)的基本語(yǔ)法

要指定一個(gè)本地參數(shù),請(qǐng)?jiān)谝薷牡膮?shù)前插入以下內(nèi)容:

  • 首先:{!
  • 插入由空格分隔的任意數(shù)量的 key=value
  • 以 } 結(jié)束并立即跟隨查詢(xún)參數(shù)

每個(gè)參數(shù)只能指定一個(gè)本地參數(shù)前綴。key-value 對(duì)中的值可以通過(guò)單引號(hào)或雙引號(hào)引用,并且在帶引號(hào)的字符串中使用反斜杠轉(zhuǎn)義。

查詢(xún)類(lèi)型縮寫(xiě)

如果一個(gè)本地參數(shù)值沒(méi)有名字出現(xiàn),它會(huì)被賦予一個(gè)隱含的名字“type”。這允許在解析查詢(xún)字符串時(shí)使用查詢(xún)解析器類(lèi)型的簡(jiǎn)短表示。從而:

q={!dismax qf=myfield}solr rocks

相當(dāng)于:

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

如果沒(méi)有指定“type”(顯式或隱式),則默認(rèn)使用 lucene 分析器。從而:

fq={!df=summary}solr rocks

等同于:

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

用v 鍵指定參數(shù)值

本地參數(shù)中的 v 的特殊鍵是指定該參數(shù)的值的替代方法:

q={!dismax qf=myfield}solr rocks

相當(dāng)于:

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

參數(shù)取消引用

通過(guò)參數(shù)取消引用或間接引用,可以使用另一個(gè)參數(shù)的值,而不是直接指定它的值。這可以用來(lái)簡(jiǎn)化查詢(xún),將用戶(hù)輸入從查詢(xún)參數(shù)中分離出來(lái),或者將前端 GUI 參數(shù)從 solrconfig. xml 中的默認(rèn)設(shè)置中分離出來(lái)。

q={!dismax qf=myfield}solr rocks

等同于:

q={!type=dismax qf=myfield v=$qq}&qq=solr rocks
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)