本文导读
- 本文承接《 Solr 4.10.3 后台管理页面介绍》,具体介绍 Solr 的检索操作,了解了这些页面上的查询操作,对以后使用 SolrJ 客户端进行编码检索很有帮助
- 本文展示的 Solr 版本为 4.10.3
字段详解
- 通过 /select 搜索索引,Solr 制定一些参数完成不同需求的搜索。
q - 查询字符串
- q - 查询字符串:必须存在,如查询所有:*:*、查询 id 为 3:id:3、查询 news_title 为 "市民":news_title:市民....
- 检索的域必须事先在 schema.xml 文件存在,否则报错。
fq - (filter query)过虑查询
- fq(filter query)-过虑查询:对 q 查询的结果进行过滤,有 and 的意思。
- fq —— id:[* TO 175] 表示在符合 q 参数的同时,要求 id 值还要小于 175,(* 表示无限)
- fq —— id:[174 TO *] 表示在符合 q 参数的同时,要求 id 值还要大于 174
- fq —— id:[174 TO 178] 表示在符合 q 参数的同时,要求 id 值还要大于 174,且小于 178
sort - 排序
- sort - 排序:格式:sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]…
- 中文会按着拼音字母进行排序
id desc:表示按 id 值从大到小倒序输出
id asc:表示按 id 值从小到大顺序输出
start,rows - 分页
- start - 起始记录位置:从0开始,超过文档总数时,结果大小为0,不会报错
- rows - 查询的记录条数:指定返回结果最多有多少条记录,配合 start 来实现分页,超过文档总数时则查询到最后一条。
fl - 指定返回字段
- fl - 指定返回字段:用逗号 或 空格分隔多个域
df - 指定默认搜索Field
- df - 可以指定一个默认搜索 Field,指定后就可以直接在 “q” 查询条件中输入关键字。
- 也可以在 SolrCore 目录中的 conf/solrconfig.xml 文件中指定默认搜索的 Field(域),指定后就可以直接在“q”查询条件中输入关键字。
- 如下所示,<str name="df">text></str>:表示是以 "text" 域作为默认检索字段,想要指定其它域为默认检索域时修改即可。
<requestHandler name="/select" class="solr.SearchHandler">
<!-- default values for query parameters can be specified, these
will be overridden by parameters in the request
-->
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="df">text</str>
</lst>
wt - (writer type) 指定输出格式
- wt - (writer type)指定输出格式:可以有 xml, json, python,ruby,php, csv。
hl - 是否高亮
- hl - 是否高亮,设置高亮 Field,设置格式前缀和后缀。
- 可以同时指定多个高亮的域,中间用空格隔开,不能指定复制域!