1. 程式人生 > >Solr查詢引數q

Solr查詢引數q

摘要: Solr查詢中最重要的引數就是q了。

1.最暴力的查詢方式 * : *
對於一次查詢請求,如果只傳引數q並指定查詢內容* : *,這樣會返回所有資料。
我用了最簡單的一個查詢請求:http://localhost:8080/solr/core/select?q=* : * ,沒有附加的引數,它有點像SQL中的select * from table語句。
從返回結果看,我的索引資料一共有106條numFound="106",其中前10條資料已經可以看到,每一條索引的完整內容被包裹在doc標籤中。這裡除了_version_以外的所有欄位是人為新增的。
Solr為了防止有意或無意的將整個索引庫load出來,預設每次請求只返回前10條資料。實際上,Solr每次會將符合條件的資料返回100條,這100條資料被存放在記憶體中。

<response>
    <lst name="responseHeader">
    <int name="status">0</int>
    <int name="QTime">0</int>
    <lst name="params">
    <str name="q">*:*</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> ... </result> </response>

在Admin的Query介面,我直接用預設查詢引數* : *,點選Execute Query,返回結果和上面類似。
q
表現形式不一樣,是因為還加了一個引數wt
result