Solr 快速入门
Solr 知识积累
网址链接
solr 快速入门
官方教程 https://solr.apache.org/ https://solr.apache.org/guide/solr/latest/getting-started/solr-tutorial.html https://solr.apache.org/guide/8_1/searching.html solr各版本使用参考指南 https://solr.apache.org/guide/ 查询语法介绍 https://www.cnblogs.com/leeSmall/p/9148360.html solr认证 https://blog.csdn.net/qq_41212491/article/details/105849992 管理界面 https://blog.csdn.net/github_38974046/article/details/79739565 Solr in查询语法 https://blog.csdn.net/u013091013/article/details/77717674 基本查询和高级查询 https://blog.csdn.net/qq_15037231/article/details/79607435 https://www.w3cschool.cn/solr_doc/solr_doc-1y5p2gmg.html https://blog.51cto.com/dechen/2797400 https://yonik.com/solr/query-syntax/
基础语法
1.查询 name=zhangsan,查询语句 q= name:zhangsan
2.查询某个时间区间,查询语句 q= time:[2022-07-10 TO 2022-07-13],如果时间带时分秒,solr查询时间使用UTC格式
其中[]为开区间,()为闭区间,可以左开右闭
UTC时间格式: yyyy-MM-dd'T'HH:mm:ss.SSSZ
3.查询类型在某几个类型之间,查询语句 q= type:(8 148 103 418)
注意使用空格进行分隔
4.两个条件并且 使用 AND,两个条件或 使用 OR
5.fl : filed list ,用于指定需要返回的字段
6.facet,默认为false,指定为true时,可以设置facet.field,用于设置分组的字段
7.q与fq的区别,q查询是包含查询,计算评分score,fq是过滤查询,不计算评分score
8.分页,start设置起始,rows设置返回行数
9.排序,sort
Solr 查询参数
q - 查询字符串,必须的。如果查询所有*:* ,根据指定字段查询(Name:张三 AND Address:北京) fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如:q=Name:张三&fq=CreateDate:[20081001 TO 20091031],找关键字mm,并且CreateDate是20081001 fl - 指定返回那些字段内容,用逗号或空格分隔多个。 start - 返回第一条记录在完整找到结果中的偏移位置,0开始,一般分页用。 rows - 指定返回结果最多有多少条记录,配合start来实现分页。 sort - 排序,格式:sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]。示例:(inStock desc, price asc)表示先 "inStock" 降序, 再 "price" 升序,默认是相关性降序。 wt - (writer type)指定输出格式,可以有 xml, json, php, phps。 fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如:q=mm&fq=date_time:[20081001 TO 20091031],找关键字mm,并且date_time是20081001到20091031之间的 q.op - 表示q 中 查询语句的 各条件的逻辑操作 AND(与) OR(或) df - 默认的查询字段,一般默认指定 qt - (query type)指定那个类型来处理查询请求,一般不用指定,默认是standard。 hl 是否高亮 ,如hl=true hl.fl 高亮field ,hl.fl=Name,SKU hl.snippets :默认是1,这里设置为3个片段 hl.simple.pre 高亮前面的格式 hl.simple.post 高亮后面的格式 facet 是否启动统计 facet.field 统计field
注意:solr查询时间为UTC 格式(2013-04-25T22:22:12.000Z)
如:
timestamp:[* TO NOW]
create_date:[1976-03-06T23:59:59.999Z TO *]
create_date:[1995-12-31T23:59:59.999Z TO 2007-03-06T00:00:00Z]
pub_date:[NOW-1YEAR/DAY TO NOW/DAY+1DAY]
create_date:[1976-03-06T23:59:59.999Z TO 1976-03-06T23:59:59.999Z+1YEAR]
create_date:[1976-03-06T23:59:59.999Z/YEAR TO 1976-03-06T23:59:59.999Z]
Solr 运算符
- “:” 指定字段查指定值,如返回所有值:
- “?” 表示单个任意字符的通配
- “*” 表示多个任意字
本地安装
Window下启动和停止
启动 Solr
Solr 包括一个名为bin/solr(Linux/MacOS) 或bin\solr.cmd(Windows)的命令行界面工具。该工具允许您启动和停止 Solr、创建核心和集合、配置身份验证以及检查系统状态。
要使用它来启动 Solr,只需在解压后的bin目录下打开命令行,执行命令:
./solr start
停止solr
在bin目录下执行命令
./solr stop -p 8983
启动报错
Java HotSpot(TM) 64-Bit Server VM warning: JVM cannot use large page memory because it does not have enough privilege to lock pages in memory. Waiting up to 30 to see Solr running on port 8983 Started Solr server on port 8983. Happy searching!
问题描述:
windows启动solr报 Java HotSpot™ 64-Bit Server VM warning: JVM cannot use large page memory…异常。
解决方法:
找到控制面板管理工具:
点击本地安全策略,找到安全设置 > 本地策略 > 用户权限分配 > 锁定内存页
点击打开输入“Everyone”,保存并应用,重启电脑后,再启动solr即可。
创建collection
创建collection 就是 创建core,-c 指定创建的core名
./solr create -c test_core1
删除core,-c 指定创建的core名
./solr delete -c test_core1
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现