常用:
<code>q</code> - 查詢字元串,必須的。
<code>fl</code> - 指定傳回那些字段内容,用逗号或空格分隔多個。
<code>start</code> - 傳回第一條記錄在完整找到結果中的偏移位置,0開始,一般分頁用。
<code>rows</code> - 指定傳回結果最多有多少條記錄,配合start來實作分頁。
<code>sort</code> - 排序,格式:<code>sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]</code>。示例:(inStock desc, price asc)表示先 "inStock" 降序, 再 "price" 升序,預設是相關性降序。
<code>wt</code> - (writer type)指定輸出格式,可以有 xml, json, php, phps。
<code>fq</code> - (filter query)過慮查詢,作用:在q查詢符合結果中同時是fq查詢符合的,例如:<code>q=mm&fq=date_time:[20081001 TO 20091031]</code>,找關鍵字mm,并且date_time是20081001到20091031之間的
不常用:
<code>defType</code>:
<code>q.op</code> - 覆寫schema.xml的defaultOperator(有空格時用"AND"還是用"OR"操作邏輯),一般預設指定
<code>df</code> - 預設的查詢字段,一般預設指定
<code>qt</code> - (query type)指定那個類型來處理查詢請求,一般不用指定,預設是standard。
其它:
<code>indent</code> - 傳回的結果是否縮進,預設關閉,用 <code>indent=true|on</code> 開啟,一般調試json,php,phps,ruby輸出才有必要用這個參數。
<code>version</code>- 查詢文法的版本,建議不使用它,由伺服器指定預設值。
<code>:</code> 指定字段查指定值,如傳回所有值:
<code>?</code> 表示單個任意字元的通配
<code>*</code> 表示多個任意字元的通配(不能在檢索的項開始使用*或者?符号)
<code>~</code> 表示模糊檢索,如檢索拼寫類似于"roam"的項這樣寫:roam~将 找到形如foam和roams的單詞;roam~0.8,檢索傳回相似度在0.8以上的記錄。 鄰近檢索,如檢索相隔10個單詞的"apache"和"jakarta","jakarta apache"~10
<code>^</code> 控制相關度檢索,如檢索jakarta apache,同時希望去讓"jakarta"的相關度更加好,那麼在其後加上""符号和增量值,即jakarta4 apache
布爾操作符<code>AND、||</code>
布爾操作符<code>OR、&&</code>
布爾操作符<code>NOT、!、-</code>(排除操作符不能單獨與項使用構成查詢)
<code>+</code> 存在操作符,要求符号"+"後的項必須在文檔相應的域中存在
<code>()</code> 用于構成子查詢
<code>[]</code> 包含範圍檢索,如檢索某時間段記錄,包含頭尾,date:[200707 TO 200710]
<code>{}</code>不包含範圍檢索,如檢索某時間段記錄,不包含頭尾,date:{200707 TO 200710}
<code>"</code> 轉義操作符,特殊字元包括+ - && || ! ( ) { } [ ] ^ " ~ * ? : "
1. 查詢所有
2. 限定傳回字段
表示:查詢所有記錄,隻傳回productId字段
3. 分頁
表示:查詢前六條記錄,隻傳回productId字段
4. 增加限定條件
表示:查詢category=2002、<code>en_US_city_i=110</code>以及namespace=d的前六條記錄,隻傳回productId和category字段
5. 添加排序
表示:查詢category=2002以及namespace=d并按<code>category_2002_sort_i</code>升序排序的前六條記錄,隻傳回productId字段
6. facet查詢
現實分組統計結果
<code>hl-highlight</code>,<code>h1=true</code>,表示采用高亮。可以用<code>h1.fl=field1,field2</code> 來設定高亮顯示的字段。
<code>hl.fl</code>:用空格或逗号隔開的字段清單。要啟用某個字段的 highlight功能,就得保證該字段在schema中是stored。如果該參數未被給出,那麼就會高 亮預設字段 standard handler會用df參數,dismax字段用qf參數。你可以使用星号去友善的高亮所有字段。如果你使用了通配符,那麼要考慮啟用 。
<code>hl.requireFieldMatch</code>:如果置為true,除非該字段 的查詢結果不為空才會被高亮。它的預設值是false,意味 着它可能比對某個字段卻高亮一個不同的字段。如果hl.fl使用了通配符,那麼就要啟用該參數。盡管如此,如果你的查詢是all字段(可能是使用 copy-field 指令),那麼還是把它設為false,這樣搜尋結果能表明哪個字段的查詢文本未被找到
h<code>l.usePhraseHighlighter</code>:如果一個查詢中含有短語(引号框起來的)那麼會保證一定要完全比對短語的才會被高亮。
<code>hl.highlightMultiTerm</code> 如果使用通配符和模糊搜尋,那麼會確定與通配符比對的term會高亮。預設為false,同時<code>hl.usePhraseHighlighter</code>要為true。
<code>hl.snippets</code>: 這是highlighted片段的最大數。預設值為1,也幾乎不會修改。如果某個特定的字段的該值被置為0(如<code>f.allText.hl.snippets=0</code>),這就表明該字段被禁用高亮了。你可能在hl.fl=*時會這麼用。
<code>hl.fragsize</code>: 每個snippet傳回的最大字元數。預設是100.如果為0,那麼該字段不會被fragmented且整個字段的值會被傳回。大字段時不會這麼做。
<code>hl.mergeContiguous</code>: 如果被置為true,當snippet重疊時會merge起來。
<code>hl.maxAnalyzedChars</code>: 會搜尋高亮的最大字元,預設值為51200,如果你想禁用,設為-1
<code>hl.alternateField</code>: 如果沒有生成snippet(沒有terms 比對),那麼使用另一個字段值作為傳回。
<code>hl.maxAlternateFieldLength</code>: 如果<code>hl.alternateField</code>啟用,則有時需要制定alternateField的最大字元長度,預設0是即沒有限制。是以合理的值是應該為<code>hl.snippets * hl.fragsize</code>這樣傳回結果的大小就能保持一緻。
<code>hl.formatter</code>:一個提供可替換的formatting算法的擴充點。預設值是simple,這是目前僅有的選項。顯然這不夠用,你可以看看<code>org.apache.solr.highlight.HtmlFormatter.java</code> 和 solrconfig.xml 中highlighting元素是如何配置的。 注意在不論原文中被高亮了什麼值的情況下,如預先已存在的em tags,也不會被轉義,是以在有時會導緻假的高亮。 -<code>hl.fragmenter</code>: 這個是solr制定fragment算法的擴充點。gap是預設值。regex是另一種選項,這種選項指明highlight的邊界由一個正規表達式确 定。這是一種非典型 的進階選項。為了知道預設設定和fragmenters (and formatters)是如何配置的,可以看看 solrconfig.xml 中的highlight段。
<code>hl.regex.pattern</code>:正規表達式的pattern
<code>hl.regex.slop</code>:這是hl.fragsize能變化以适應正規表達式的因子。預設值是0.6,意思是如果 <code>hlfragsize=100</code> 那麼fragment的大小會從40-160.
----EOF-----
本文轉自快樂就好部落格園部落格,原文連結:http://www.cnblogs.com/happyday56/p/5730049.html,如需轉載請自行聯系原作者