设为首页 收藏本站
查看: 1078|回复: 0

[经验分享] solr查询语法

[复制链接]

尚未签到

发表于 2018-11-1 11:48:05 | 显示全部楼层 |阅读模式
  配置好solr后,可以通过web管理界面进行管理和查询。web界面基本列出了大多数查询参数,可以通过这个学习lucene的查询语法。
  solr的查询解析是通过queryParser来配置的(solrconfig.xml),一般我们用默认的即可。其各参数含义与用法简单解释如下:
  q:查询输入,必须。可以使用运算符
  fq:过滤查询。可以使用运算符
  sort:排序的字段,格式为field score,多个字段之间用逗号隔开,比如sum(x_f, y_f) desc, price asc,默认是score desc
  start:从哪一行开始
  rows:获取多少行
  fl:查询要输出的字段,字段之间用逗号隔开,比如title,price,seller,星号代表所有,默认就是星号。
  df:定义查询时默认的查询field。
  wt:返回的数据类型,可以是JSON、XML、python、ruby、php、csv等格式。
  indent:true/false,返回的XML格式是否需要缩进(格式化展示),默认为false
  debugQuery:调试查询,会输出查询过程的一些参数。
  高亮相关:
  高亮是通过searchComponent来配置的,在solrconfig.xml中配置名为highlight的searchComponent即可,默认的实现是solr.HighlightComponent。
  hl:true/false,是否高亮显示
  hl.fl:高亮显示的字段
  hl.example.pre:高亮显示的前缀
  hl.exapmle.post:高亮显示的后缀
  hl.requireFieldMatch:是否只在查询指定的field(只有当hl.usePhraseHighlighter为true时才生效)高亮显示,默认是在所有field都高亮
  hl.usePhraseHighlighter:true/false,使用SpanScorer高亮查询短语
  hl.highlightMultiTerm:true/false,如果SpanScorer被启用,这个参数针对前缀/模糊/范围/通配符等开启高亮显示
  facet:true/false
  facet是solr的高级搜索功能之一,可以给用户提供更友好的搜索体验(类似于面包屑导航的功能)。在搜索关键字的同时,能够按照 facet指定的字段进行分组统计。比如商品的分类、商品的规格等。facet的字段必须被索引,无须分词(分词意义不大),也无须存储。详细可参考《Solr的facet查询》
  facet的查询结果返回字段为facet_counts,与responseHeader、response同级。
  facet.query:类似于filter的语法,对任意字段进行筛选
  facet.field:需要进行facet的字段
  facet.prefix:对facet字段的前缀过滤
  facet.sort:true/false,对facet以哪种顺序返回,true为按照count值从大到小排序,默认为true
  spellcheck:拼写检查
  spellcheck是通过component的方式实现的,你可以在solrconfig.xml文件中配置searchComponent来完成拼写检查的功能,默认的实现是solr.SpellCheckComponent,具体的配置参数和实现原理可以看这里《spellCheckComponent》
  spatial:空间搜索
  spatial是专门针对空间数据进行搜索的,空间位置的索引和存储fieldType是LatLonType或者SpatialRecursivePrefixTreeFieldType,通过使用空间搜索,你可以对点、面等数据建立索引,以圆形、方形或其他形状进行范围搜索,以及对搜索结果按距离排序等等,具体的配置参数和实现原理可以看这里《SpatialSearch》
  检索运算符:
  冒号":": field:value结构查询,表示字段field值为value的查询。
  通配符:?(任意一个字符) *(任意字符)
  布尔操作:AND(并且,同&&) OR(或者,同||) +(包含) -(不包含) NOT(同!),注意AND、OR、NOT均为大写
  范围:[A TO B](从A到B之间,包含A和B,注意TO大写),{A TO B}(从A到B之间,不包含A和B,注意TO大写)
  子运算:()括号跟数学表达式上的差不多,比如:(瓜 OR 傻) AND 男人
  模糊检索:~表示模糊检索,比如:roam~将找到形如foam和roams的单词;roam~0.8,检索返回相似度在0.8以上的记录
  控制相关度:^表示相关度,如检索jakarta apache,同时希望让”jakarta”的相关度更加好,那么在其后加上”^”符号和增量值,即jakarta^4 apache


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-629350-1-1.html 上篇帖子: Solr技巧 -- 仿“竞价排名” 下篇帖子: Solr API例子详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表