Solr查詢引數wt
摘要: 引數wt指定用哪個Response Writer
去格式化輸出。參見原文
利用
Response Writer
,可以很方便地將搜尋的結果轉化成多種形式,便於結果可以整合到不同的應用中去。Solr6.4 已經支援十多種格式輸出,低版本的solr可能不支援其中的一些格式。
支援的格式:
wt引數 | 使用的Response Writer |
---|---|
csv | CSVResponseWriter |
geojson | GeoJSONResponseWriter |
javabin | BinaryResponseWriter |
json | JSONResponseWriter |
php | PHPResponseWriter |
phps | PHPSerializedResponseWriter |
python | PythonResponseWriter |
ruby | RubyResponseWriter |
smile | SmileResponseWriter |
velocity | VelocityResponseWriter |
xlsx | XLSXResponseWriter |
xml | XMLResponseWriter |
xslt | XSLTResponseWriter |
XML Response Writer
在solr中,XML是最常見的格式。大部分情況下,XML能夠提供直觀而全面的查詢結果。而且還可以使用XSLT 去轉化成其他格式。使用如下的HTTP請求
http://localhost:8080/solr/core/select?indent=on&q=*:*&wt=xml
等同於:
http://localhost:8080/solr/core/select?indent=on&q=*:*
返回:
<response>
<lst name="responseHeader">
<int name="status">0</int >
<int name="QTime">0</int>
<lst name="params">
<str name="q">*:*</str>
<str name="indent">on</str>
<str name="wt">xml</str>
</lst>
</lst>
<result name="response" numFound="106" start="0">
<doc>
<str name="id">c3812fee-de7a-48e5-a60d-79a882aca823</str>
<str name="title_s">皇帝諷刺劇</str>
<str name="artist_s">鮑勃·迪倫</str>
<str name="country_s">美國</str>
<str name="company_s">哥倫比亞</str>
<double name="price_d">10.9</double>
<str name="year_s">1985</str>
<str name="type_s">光碟</str>
<str name="description_s">夏天的午後聽Bob Dylan的歌特別容易被催眠</str>
<long name="_version_">1551502047719718912</long>
</doc>
</response>
JSON Response Writer
除了XML,還有一個很常見的格式就是JSON(JavaScript Object Notation )了。使用如下的HTTP請求
http://localhost:8080/solr/core/select?q=*:*&wt=json
返回:
{
"responseHeader":{
"status":0,
"QTime":0,
"params":{
"q":"*:*",
"omitHeader":"false",
"wt":"json"}},
"response":{"numFound":106,"start":0,"docs":[
{
"id":"c3812fee-de7a-48e5-a60d-79a882aca823",
"title_s":"皇帝諷刺劇",
"artist_s":"鮑勃·迪倫",
"country_s":"美國",
"company_s":"哥倫比亞",
"price_d":10.9,
"year_s":"1985",
"type_s":"光碟",
"description_s":"夏天的午後聽Bob Dylan的歌特別容易被催眠",
"_version_":1551502047719718912
},
...
]
}
}
CSV Response Writer
CSV是一種使用逗號分隔值的格式,對於資料分析,這種格式很有用。使用如下的HTTP請求
http://localhost:8080/solr/core/select?fl=id,%20title_s,price_d,%20type_s,description_s&indent=on&q=*:*&wt=csv
返回:
id,title_s,price_d,type_s,description_s
c3812fee-de7a-48e5-a60d-79a882aca823,皇帝諷刺劇,10.9,光碟,"夏天的午後聽Bob Dylan的歌特別容易被催眠"
1724b579-c69c-47b9-9975-43587ecb09d6,隱藏自己的心,9.9,光碟,"對未來,永遠抱著樂觀與喜悅的態度"
723fdec4-66c9-4bad-bad8-18bd4b724859,精選輯,9.9,光碟,"美國曆史上最暢銷的錄音室唱片"
2491d4c9-1776-4fd4-b57a-8015297a8510,依然憂鬱,10.2,光碟,"在聽到他們的現場之後,會愛上這些老男人的聲音"
3a330fce-ba90-44c1-bd63-52b2c9886b4b,厄洛斯,9.9,光碟,"這張專輯以希臘神話中的人物為音樂背景,突顯了希臘作為一個文明古國所擁有的很深厚的文化積澱"
799e088a-2f24-46bc-97e9-b9f5ee7fb5c9,僅此一夜,10.9,光碟,"青春活力十足,主唱聲線可塑性強"
c91b4337-6a96-44db-96be-2d9aa9d64106,麥其·梅,8.5,光碟,"作者是最有才華的詞曲作者之一,是二十世紀六十年代中期的英國入侵浪潮之後的標誌性人物之一"
3a99c14c-2b76-49fe-a0fa-8898635f9e83,浪漫曲,10.8,光碟,"獨一無二的聲音的力量、那令人難以抗拒的溫暖的感覺,這使得語言和文化都不再是阻擋交流的障礙"
57e08775-81a2-49bd-ae7a-455d232fe371,當男人愛上女人,8.7,光碟,"他無法假裝若無其事,他會用全世界來交換,只為了他找到的好東西.即使她很壞,他也看不見,她不會有錯,他會背棄他最要好"
ca49b517-c1b3-4fce-99a0-9f77ab3c5a41,美好時光,8.7,光碟,"這哥們的歌都是自覺自發熱愛自己一畝三分地的城市貧民心聲,毫無怨言。永遠歡樂,永遠飛的大"
當然對於想自定義csv格式的使用者,solr也有一些引數去適應使用者的需求。一些引數:
引數 | 預設值 |
---|---|
csv.encapsulator | “ |
csv.separator | , |
csv.newline | \n |
csv.null | 預設是一個長度為0的字串 |
csv.header | 預設是true,設定為false的話,返回值中將不包含headers資訊 |
csv.escape | 無 |
使用如下的HTTP請求
http://localhost:8080/solr/core/select?fl=id,%20title_s,price_d,%20type_s,description_s&indent=on&q=*:*&wt=csv&csv.separator=|
返回:
id|title_s|price_d|type_s|description_s
c3812fee-de7a-48e5-a60d-79a882aca823|皇帝諷刺劇|10.9|光碟|夏天的午後聽Bob Dylan的歌特別容易被催眠
1724b579-c69c-47b9-9975-43587ecb09d6|隱藏自己的心|9.9|光碟|對未來,永遠抱著樂觀與喜悅的態度
723fdec4-66c9-4bad-bad8-18bd4b724859|精選輯|9.9|光碟|美國曆史上最暢銷的錄音室唱片
2491d4c9-1776-4fd4-b57a-8015297a8510|依然憂鬱|10.2|光碟|在聽到他們的現場之後,會愛上這些老男人的聲音
3a330fce-ba90-44c1-bd63-52b2c9886b4b|厄洛斯|9.9|光碟|這張專輯以希臘神話中的人物為音樂背景,突顯了希臘作為一個文明古國所擁有的很深厚的文化積澱
799e088a-2f24-46bc-97e9-b9f5ee7fb5c9|僅此一夜|10.9|光碟|青春活力十足,主唱聲線可塑性強
c91b4337-6a96-44db-96be-2d9aa9d64106|麥其·梅|8.5|光碟|作者是最有才華的詞曲作者之一,是二十世紀六十年代中期的英國入侵浪潮之後的標誌性人物之一。
3a99c14c-2b76-49fe-a0fa-8898635f9e83|浪漫曲|10.8|光碟|獨一無二的聲音的力量、那令人難以抗拒的溫暖的感覺,這使得語言和文化都不再是阻擋交流的障礙。
57e08775-81a2-49bd-ae7a-455d232fe371|當男人愛上女人|8.7|光碟|他無法假裝若無其事,他會用全世界來交換,只為了他找到的好東西.即使她很壞,他也看不見,她不會有錯,他會背棄他最要好
ca49b517-c1b3-4fce-99a0-9f77ab3c5a41|美好時光|8.7|光碟|這哥們的歌都是自覺自發熱愛自己一畝三分地的城市貧民心聲,毫無怨言。永遠歡樂,永遠飛的大。
Solr也支援多值欄位輸出csv檔案,參見wiki.