热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

solr6.3.0AdminUI查询中各参数的含义

2019独角兽企业重金招聘Python工程师标准本文内容是在官方文档给出的gettingstarted的Demo下进行的。如何启动运行官方demogettingstarte

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

本文内容是在官方文档给出的gettingstarted的Demo下进行的。如何启动运行官方demo"gettingstarted"可在公众号中历史文章中查看solr6.3.0的安装部署

AdminUI 中各参数及其含义

qt = query type

指定那个类型来处理查询请求,一般不用指定,默认是standard

 

q = query

查询字符串,必须指定,查询结果根据该参数指定的查询词被打分

 

fq = filter query 

过滤查询,在q的基础上进行过滤,不影响打分

 

sort

根据查询结果的打分或者其他指明的特点进行排序。有两种排序升序(asc),降序(desc),不区分大小写。允许根据多个field排序,用逗号分隔开。

NB:  排序的field必须是索引的field,同时field对应的type不能是multiValued的

 

start 

结果从那一条记录开始查询

 

rows

 查询多少条记录

 

fl

定义返回记录的field

 

df

默认查找的字段。solr6.3.0默认df=_text_

通过solr的adminUI 中可以看到如下配置

070506_ALyi_915970.png

在server/solr/gettingstarted/conf/managed-schema

文件最后一行有这样一行配置

默认所有的field都被copy 到_text_中。

用处:比如一个电商的搜索api调用方大部分只期望搜索产品名称则df=product_name

 

wt

指明返回数据格式。默认是json

 

indent

返回结果是否缩进。默认indent=on开启,一般调试json,php,phps,ruby输出才有必要用这个参数

 

debugQuery

查询结果中包含调试信息。explain info中包含每一条查询结果的信息

 

更多详细信息参考: http://www.solr.cc/blog/?p=1018

 

 

NB:solr官方的例子中,对price进行排序时需要修改server/solr/gettingstarted/conf/managed-schema文件中 

改为

使用solr AdminUI进行查询

http://192.168.1.23:8983/solr/gettingstarted/select?df=_text_&fl=name,price,features,score&fq=manu:Belkin&indent=on&q=ipod&sort=price%20asc&wt=json

查询结果如图所示

相关性排序

solr与其他关系型数据库和NoSQL的区别之一,是solr对返回的结果进行了查询词的相关性排序,默认按照相关性降序排列。score越高,查询词和文档的相关性就越高。

 

以gettingstarted为例,使用不同的参数,进行如下三次查询:

1

query : iPod

fl:name,features,score

 

返回的结果按照score降序排列。直观的看,第一条数据,搜索词出现3次,剩余的两条数据ipod只出现了一次。

 

score的值不是固定不变的。它仅用于lucence内部做相关性排序使用,查询词不同,分数也不同。

 

每一次查询时,每一个文档会被计算出一个和查询词匹配的分数,分数越高,文档和查询词越相关。

query : iPod power

fl:name,features,score

 

查询结果与上次相同,但是我们注意到,打分不同

3

query : iPod power^2

fl:name,features,score

 

给power这个查询词设置一个2的权重(默认都是1)。这意味着,power这个词比ipod这个词重要了一倍。现在看查询结果,虽然查询来还是那3条结果,但是顺序已经发生了变化。

 

翻页和排序

 

想一想,你自己平时在淘宝上会翻到第几页,99%的人按照某个条件拍个序,然后从前几个总找一个(不过也真有一页一页往后翻的)。所以我们在做搜索时,真的不需要返回全部的结果集。

 

olr使用rows和start两个属性,进行分页。

 

在客户端发送一个查询请求给solr,solr经过一系列的处理之后,去索引库中找,将找到的结果返回给solr,solr在经过一系列的处理,返回给客户端。执行过程如下:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

所以:返回的结果越多,重新组织需要的时间就越长

 

--排序--

 

在上面的图例中我们看到可以根据相关性(score)进行排序,可以根据价格进行排序。排序和分页基本上一起使用(原文用的hand in hand意境好美),因为排序顺序决定分页的结果。

 

如果没有指定排序,solr会根据score来进行排序。如果两个文档的打分相同,他们会根据lucene的一个内部ID来排序。这个排序的值会随着索引

的变化而变化,所以这个排序不可靠。

更多信息请关注微信公众号:金沙数据

 

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1

 

 

 


转:https://my.oschina.net/yimiyan/blog/801828



推荐阅读
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
  • express工程中的json调用方法
    本文介绍了在express工程中如何调用json数据,包括建立app.js文件、创建数据接口以及获取全部数据和typeid为1的数据的方法。 ... [详细]
  • 本文介绍了如何在Jquery中通过元素的样式值获取元素,并将其赋值给一个变量。提供了5种解决方案供参考。 ... [详细]
  • 抽空写了一个ICON图标的转换程序
    抽空写了一个ICON图标的转换程序,支持png\jpe\bmp格式到ico的转换。具体的程序就在下面,如果看的人多,过两天再把思路写一下。 ... [详细]
  • 花瓣|目标值_Compose 动画边学边做夏日彩虹
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Compose动画边学边做-夏日彩虹相关的知识,希望对你有一定的参考价值。引言Comp ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • 本文介绍了如何通过维持两个堆来获取一个数据流中的中位数。通过使用最大堆和最小堆,分别保存数据流中较小的一半和较大的一半数值,可以保证两个堆的大小差距为1或0。如果数据流中的数量为奇数,则中位数为较大堆的最大值;如果数量为偶数,则中位数为较大堆的最大值和较小堆的最小值的平均值。可以使用优先队列来实现堆的功能。本文还提供了相应的Java代码实现。 ... [详细]
author-avatar
夕阳何处寻
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有