文档章节

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

chloe900
 chloe900
发布于 2016/12/08 07:11
字数 1203
阅读 97
收藏 0
点赞 1
评论 0

本文内容是在官方文档给出的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 中可以看到如下配置

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

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

<copyField source="*" dest="_text_"/>

默认所有的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文件中 

<field name="price" type="tdoubles"  />

改为

<field name="price" type="tdouble"  />

使用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在经过一系列的处理,返回给客户端。执行过程如下:

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

 

--排序--

 

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

 

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

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

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

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
chloe900
粉丝 10
博文 8
码字总数 7030
作品 0
昌平
程序员
nginx rewrite 新url拼接错误

测试地址:yqsun.top:8080/adminUi 访问yqsun.top:8080 rewrite到lihf.top:8080,静态页面文件可全部拉下来,但是页面中的初始化接口请求调用失败.查看yqsun.top所在服务器nginx日志发现,重写后...

羽化飞仙
2017/12/08
37
1
深入剖析Trend Micro Smart Protection Server出现的多个漏洞

      1. 漏洞信息   趋势科技是全球领先的安全公司,然而近日在Smart Protection Server的管理UI中发现了多个漏洞,允许远程未经身份验证的攻击者在系统上执行任意命令。   Trend M...

嘶吼RoarTalk
01/11
0
0
Solr6.3.0 采用word1.3分词器 高亮显示异常

@杨尚川 你好,想跟你请教个问题: 我在Solr6.3.0上采用word.1.3.jar作为分词器,相应的配置也都按github上的改了,分词没问题,但是高亮出现了很多偏差,在网上搜了很多方案,基本都是说分词...

清风-蓝魔泪
2016/12/13
354
4
beego 1.4.3 版本发布,Go 应用框架

这个版本憋了好久才发布,实在对不起各位亲,我持续改进的心都在,但是因为换工作事情比较多,实在抱歉。 新功能: ORM数据库创建和修改的时候支持default设置 改进日志文件行数统计 sesesion...

astaxie
2015/03/01
4.3K
32
AeroGear UnifiedPush Server 0.11 发布

AeroGear UnifiedPush Server 0.11 发布,该版本包含如下新特性: Keycloak Integration for user management Angular.js based AdminUI Metrics and Dashboard for some Analytics around ......

oschina
2014/07/09
851
2
solr StatsComponent(聚合统计)

一、概述 Solr可以利用StatsComponent 实现数据库的聚合统计查询,也就是min、max、avg、count、sum的功能。 二、参数 参数 含义 stats 是否开启stats(true/false) stats.field 添加一个字...

浮云飘飘
2015/12/10
32
0
AeroGear UnifiedPush Server 1.0.0 Beta1

AeroGear UnifiedPush Server 1.0.0 Beta1 发布了,该版本包含全新的 AdminUI 以及如下改进内容: iOS8 interactive notification support increased APNs payload (2k) Pagination for ana......

小编辑
2014/07/31
438
1
Python 抓取新浪财经股票数据

新浪并未提供 API,但我们可以通过抓包来获取实时或历史行情数据。 实时行情 比如我们可以通过浏览器访问: http://hq.sinajs.cn/?format=text&list=sh601688 来获取证券代码为 的实时行情数...

withchris
2017/03/16
0
0
MySQL慢查询记录原理和内容解析

我的学习记录,可能有误请谅解,也提供了一些源码接口供有兴趣的朋友调试。 源码版本:percona 5.7.14 本文并不准备说明如何开启记录慢查询,只是将一些重要的部分进行解析。如何记录慢查询可...

重庆八怪
06/05
0
0
3分钟掌握MongoDB中的regex几种用法

3分钟掌握MongoDB中的regex几种用法 背景 Part1:写在最前 使用MySQL或其他关系型数据库的朋友们都知道,使用模糊查询的用法类似于: SELECT * FROM products WHERE sku like "%789"; 本文中介...

dbapower
07/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周五乱弹 —— 我们是食物链的最底层

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @温家成 :分享谢安琪的单曲《姿色份子》 《姿色份子》- 谢安琪 手机党少年们想听歌,请使劲儿戳(这里) @贪吃飒:最近p2p怎么了、半个月爆了...

小小编辑
14分钟前
3
1
Android Studio 3.0 之后打包apk出现应用未安装问题

1、废话 出现这个问题的原因,并不是只有一个,而是有多个原因,不懂的估计会被搞得一头雾水,下面我列举的是我遇到的几种问题和网友遇到的几种问题,但不一定是全部,也有可能有些莫名其妙的...

她叫我小渝
33分钟前
0
0
前端基础

1. get请求传参长度的误区 误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的。 实际上HTTP 协议从未规定 GET/POST 的请求长度限制是多少。对get请求参数的限制是...

wenxingjun
今天
0
0
拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)

工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-Core 反编译JDBC分析SQLSERVER客户端与服务器通信原理 SQ...

紅顏為君笑
今天
8
0
jQuery零基础入门——(六)修改DOM结构

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 在《零基础入门JavaScript》的时...

JandenMa
今天
0
0
linux mint 1.9 qq 安装

转: https://www.jianshu.com/p/cdc3d03c144d 1. 下载 qq 轻聊版,可在百度搜索后下载 QQ7.9Light.exe 2. 去wine的官网(https://wiki.winehq.org/Ubuntu) 安装 wine . 提醒网页可以切换成中...

Canaan_
今天
0
0
PHP后台运行命令并管理运行程序

php后台运行命令并管理后台运行程序 class ProcessModel{ private $pid; private $command; private $resultToFile = ''; public function __construct($cl=false){......

colin_86
今天
1
0
数据结构与算法4

在此程序中,HighArray类中的find()方法用数据项的值作为参数传递,它的返回值决定是否找到此数据项。 insert()方法向数组下一个空位置放置一个新的数据项。一个名为nElems的字段跟踪记录着...

沉迷于编程的小菜菜
今天
1
1
fiddler安装和基本使用以及代理设置

项目需求 由于开发过程中客户端和服务器数据交互非常频繁,有时候服务端需要知道客户端调用接口传了哪些参数过来,这个时候就需要一个工具可以监听这些接口请求参数,已经接口的响应的数据,这种...

银装素裹
今天
0
0
Python分析《我不是药神》豆瓣评论

读取 Mongo 中的短评数据,进行中文分词 对分词结果取 Top50 生成词云 生成词云效果 看来网上关于 我不是药神 vs 达拉斯 的争论很热啊。关于词频统计就这些,代码中也会完成一些其它的分析任...

猫咪编程
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部