摘要: 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
,返回结果和上面类似。
表现形式不一样,是因为还加了一个参数wt