浪人 发表于 2015-7-17 11:29:43

solr 查询 实例分析

  solr索引查询接口:http://localhost:8080/solr/query
  首先了解一下查询参数的含义。



q
Solr 中用来搜索的查询。可以通过追加一个分号和已索引且未进行断词的字段(下面会进行解释)的名称来包含排序信息。默认的排序是 score desc,指按记分降序排序。
q=myField:Java AND otherField:developerWorks; date asc 此查询搜索指定的两个字段并根据一个日期字段对结果进行排序。

start
将初始偏移量指定到结果集中。可用于对结果进行分页。默认值为 0。
start=15 返回从第 15 个结果开始的结果。

rows
返回文档的最大数目。默认值为 10。
rows=25

fq
提供一个可选的筛选器查询。查询结果被限制为仅搜索筛选器查询返回的结果。筛选过的查询由 Solr 进行缓存。它们对提高复杂查询的速度非常有用。
任何可以用 q 参数传递的有效查询,排序信息除外。

hl
当 hl=true 时,在查询响应中醒目显示片段。默认为 false。参看醒目显示参数上的 Solr Wiki 部分可以查看更多选项。
hl=true

fl
作为逗号分隔的列表指定文档结果中应返回的 Field 集。默认为 “*”,指所有的字段。“score” 指还应返回记分。
*,score

wt
指定返回数据格式
可选:json,xml


  
  1、查询关键字中包含“快乐大本营”,从第5条开始的前10条数据,指定返回的数据格式为json。
  语法分析:使用q指定要查询的关键字,使用start标示需要从第5条开始返回,使用rows标示需要返回的记录数量,使用wt标示需要返回json格式的数据



http://192.168.86.130:8080/solr/clip/select?q=快乐大本营&start=5&rows=10&wt=json
  
  2、查询指定字段,此处只查询clipName中包含“快乐大本营”的数据,当不设置指定字段时,将使用默认字段
  默认字段设置在schemal.xml中设置 _all



http://192.168.86.130:8080/solr/clip/select?q=clipName:快乐大本营
  
3、查询关键字中包含“快乐大本营”,的前10条数据,指定返回字段为clipName,clipId,按clipId降序排列
  语法分析:使用fl标示需要返回的字段,此处为clipName,clipId,如需返回全部字段赋值为*,或者不加该字段
  排序语法:sort=clipId desc
  描述:根据clipId 降序(desc)排列,或者升序(asc)排列,中间空格分隔。



http://192.168.86.130:8080/solr/clip/select?q=快乐大本营&rows=10&sort=clipId desc&fl=clipId,clipName
  
4、查询关键字中包含“快乐大本营”的数据,指定返回字段为clipName,clipId,高亮显示clipName中的关键字。
  高亮语法:hl=true&hl.field=clipName   
  描述:首先设置结果需要高亮显示hl=true,再设置需要高亮的字段hl.field=clipName



http://192.168.86.130:8080/solr/clip/select?q=%E5%BF%AB%E4%B9%90%E5%A4%A7%E6%9C%AC%E8%90%A5&fl=clipId,clipName&hl=true&hl.field=clipName
  
  
  注:solr是区分大小写的,使用的时候记得别弄错了。
页: [1]
查看完整版本: solr 查询 实例分析