1 Solr管理页面的查询入口

选中需要查询的SolrCore, 然后在菜单栏选择[Query]:

2 Solr查询输入框简介

(1) select: 查询请求处理器.

(2) q: 是query的简写, 指定查询表达式.

*:* ——表示查询所有, 比如:
product_name:花儿朵朵, 表示"product_name"字段中包含"花儿朵朵".

(3) fq: 是filter query的简写, 是一个数组, 可以指定多个. 在q的查询结果中, 执行过滤. 前提是: 必须先指定q查询.

product_price:[* TO 20], 表示查询商品价格在20块钱以内, 包含20;
product_price:[* TO 20}, 表示查询商品价格在20块钱以内, 不包含20.

(4) sort: 指定搜索结果的排序.

product_price desc —— 表示按照商品价格降序;
product_price asc —— 表示按照商品价格升序;
product_price desc, product_catalog asc —— 表示按商品价格降序, 按商品分类id升序(多个Field排序, 以半角逗号<也就是英文中的逗号“,”>分割).

(5) start,rows: 指定搜索结果分页:

与MySQL等数据库中的limit不同, 这里:

start —— 表示从第start条文档开始;
rows —— 表示返回rows条文档.

(6) fl: 是field list的简写, 用来指定搜索结果显示的域列表.

(7) id, product_name, product_price, product_catalog_name, 表示返回的结果中, 只显示商品Id, 商品名称, 商品价格, 商品类别名称这几个Field的内容, 其他的Field不显示.

(8) df: 是default field的简写, 指定默认搜索域 —— 只能指定一个, 会覆盖schema.xml文件中的配置.

(9) wt: 是writer type的简写, 指定返回搜索结果时的显示格式, 也就是响应的数据的格式, 其中csv是一种类似于记事本的格式.

indent: 缩进, 格式良好地显示查询结果;
debugQuery: 打印查询的调试信息.

(10) dismax、edismax: 查询解析器, 一般不选择. /select等使用的是标准查询解析器.

(11) hl: 是highlight的简写, 用来设置高亮显示. 前提: 高亮显示的field, 需要存储, 也就是在schema.xml文件中配置stored=true.

hl.fl: 高亮显示的域的名称;
hl.simple.pre: 高亮显示的HTML标签前缀;
hl.simple.post: 高亮显示的HTML标签后缀;
hl.requireFieldMatch: 默认为false, 若选中(为true), 则需要hl.fl指定字段, 查询结果才会高亮;
hl.usePhraseHighlighter: 如果查询语句中含有引号括起来的短语, 那么只有完全匹配短语的内容才会高亮;
hl.highlightMultiTerm: 默认为false, 若选中且hl.usePhraseHighlighter为true时, 如果使用通配符和模糊搜索, 那么会确保与通配符匹配的term才会高亮.

(12) facet: 是Solr中的统计接口, 意为分组统计(分片统计), 如电商中的组合多条件搜索:

facet查询设置界面:

facet.query: 指定组内初始化统计条件
facet.field: 指定分组统计的域的名称(通常使用分类域)
facet.prefix: 指定组内过滤查询条件的前缀

(13) spatial: 空间查询, 是基于经纬度坐标点的地理位置查询.

(14) spellcheck: 拼写检查, 也就是在输入检索的字段时, 尽心智能提醒和匹配.

3 Solr管理页面的查询方案

说明: 使用SolrJ实现页面的查询效果, 要求参数和结果与页面一致.

(1) 页面搜索条件:

(2) 页面搜索结果:
文档结果以及分组统计结果:

(3) 高亮显示结果:

注意事项:

① 由上图可知, Solr在高亮查询时, 高亮结果集与正常结果集是分开返回的, 为了与正常结果集中的其他内容相匹配, 这里需要设置主键进行结果的关联.
② 另外, 对于multiValued=true的字段, 不要进行高亮设置 -- 它只会返回匹配高亮的值, 不能确定是何条数据.
③ 也可通过HTTP请求的方式进行高亮设置, HTTP请求示例:
http://localhost:7070/solr/select?q=product_name:花儿朵朵&hl=true&hl.fl=product_name&hl.simple.pre=<font color='red'>&hl.simple.post=</font>
④ 也可通过配置solrconfig.xml文件, 是默认搜索方案具有高亮功能: 在<requestHandler name="/select" class="solr.SearchHandler" default="true">下配置.

版权声明

作者: 马瘦风

出处: 博客园 马瘦风的博客

您的支持是对博主的极大鼓励, 感谢您的阅读.

本文版权归博主所有, 欢迎转载, 但请保留此段声明, 并在文章页面明显位置给出原文链接, 否则博主保留追究相关人员法律责任的权利.

Solr 08 - 在Solr Web管理页面中查询索引数据 (Solr中各类查询参数的使用方法)的更多相关文章

  1. ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中

    目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...

  2. View中选择的数据行中的部分数据传入到Controller中

    将View中选择的数据行中的部分数据传入到Controller中   ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NE ...

  3. 一个I/O线程可以并发处理N个客户端连接和读写操作 I/O复用模型 基于Buf操作NIO可以读取任意位置的数据 Channel中读取数据到Buffer中或将数据 Buffer 中写入到 Channel 事件驱动消息通知观察者模式

    Tomcat那些事儿 https://mp.weixin.qq.com/s?__biz=MzI3MTEwODc5Ng==&mid=2650860016&idx=2&sn=549 ...

  4. SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int

    --SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int --关键说明:--1.从系统表syscolumns中的查询所有xtype='48'的记录得到类型为[tinyint]的字段- ...

  5. 批量替换数据库中所有用户数据表中字段数据类型为char和varchar到nvarchar的脚本

    解决问题:字段类型为char的总是占用指定字节长度(末尾好多空白符号),varchar数据类型长度一个汉字占2个字节,内容存储为中文的字段个人建议全部使用nvarchar. 操作说明:打开SQL Se ...

  6. 【MySQL】MySQL中查询出数据表中存在重复的值list

    1.目的:查询MySQL数据表中,重复记录的值 2.示例: 3.代码: select serial_num,count(*) as count FROM card_ticket GROUP BY se ...

  7. 转:Sql Server中清空所有数据表中的记录

    如果要删除数据表中所有数据只要遍历一下数据库再删除就可以了,清除所有数据我们可以使用搜索出所有表名,构造为一条SQL语句进行清除了,这里我一一给各位同学介绍.   使用sql删除数据库中所有表是不难的 ...

  8. Sql Server中清空所有数据表中的记录

    Sql Server中清空所有数据表中的记录 清空所有数据表中的记录: 代码如下:exec sp_msforeachtable  @Command1 ='truncate table ?'删除所有数据 ...

  9. C语言:将ss所指字符串中所有下标为奇数位上的字母转换成大写,若不是字母,则不转换。-删除指针p所指字符串中的所有空白字符(包括制表符,回车符,换行符)-在带头结点的单向链表中,查找数据域中值为ch的结点,找到后通过函数值返回该结点在链表中所处的顺序号,

    //将ss所指字符串中所有下标为奇数位上的字母转换成大写,若不是字母,则不转换. #include <stdio.h> #include <string.h> void fun ...

随机推荐

  1. arp断网攻击

    arp断网攻击可以是同局域网内主机无法上网!(可恶搞室友哦,嘻嘻!) 实现原理 arp的中文释义是地址解析协议,全英文 address resolution protocol,是一个将局域网IP地址映 ...

  2. 单调栈&单调队列入门

    单调队列是什么呢?可以直接从问题开始来展开. Poj 2823 给定一个数列,从左至右输出每个长度为m的数列段内的最小数和最大数. 数列长度:\(N <=10^6 ,m<=N\) 解法① ...

  3. 关于阿里ICON矢量图(SVG)上传问题.

    注意点: 1. 存储为svg格式(建议使用存储为svg,不要使用导出为svg)2. 图像位置:链接(注意哦,不要点嵌入和保留编辑功能)---确定3. AI里面选中图形,点对象-路径-轮廓化描边 软件编 ...

  4. django用户认证系统——拓展 User 模型

    Django 用户认证系统提供了一个内置的 User 对象,用于记录用户的用户名,密码等个人信息.对于 Django 内置的 User 模型, 仅包含以下一些主要的属性: username,即用户名 ...

  5. AES加密算法详解

    AES 是一个对称密码分组算法,分组长度为128bit,密钥长度为128.192 和 256 bit. 整个加密过程如下图所示. 1.密钥生成算法 密钥扩展过程: 1)  将种子密钥按下图所示的格式排 ...

  6. Web开发者の实用代码账簿

    介里就都是恶魔菌整理的我平时会用的代码啦-现在在这里总结规划一下,希望能对你以及其他阅读这篇文章的小可耐们有帮助喵!欢迎订阅我的博客来get恶魔菌记事簿的新动态鸭! ↓ ↓ ↓ 以下就是内容啦~记得看 ...

  7. 关于vue的数据增删的一些细节

    第一种情况:在vue中使用的数据必须先在data中定义数据,不然报错: 第二种情况:访问对象中不存在的值,是可以得到undefined,但是不会报错 第三种:vue只会监听data已经定义的值,后续添 ...

  8. shuffle的工作原理

    Shuffle的正常意思是洗牌或弄乱,可能大家更熟悉的是Java API里的Collections.shuffle(List)方法,它会随机地打乱参数list里的元素顺序.如果你不知道MapReduc ...

  9. FFmpeg开发实战(三):FFmpeg 打印音视频Meta信息

    在之前使用FFmpeg命令行的时候,我们经常看到FFmpeg命令行在输出音视频文件的会打印一下文件的Meta信息,类似如图: 那么我们如何通过代码的方式输出这些Meta信息呢? FFmpeg提供了一个 ...

  10. [Swift]LeetCode79. 单词搜索 | Word Search

    Given a 2D board and a word, find if the word exists in the grid. The word can be constructed from l ...