Solr学习笔记——查询

1.进入Solr管理界面http://localhost:8983/solr/

可以看到Query中有若干的参数,其意义如下(参考:http://www.jianshu.com/p/3c4cae5dee8d

Solr的查询语法:

Solr默认有三种查询解析器(Query Parser):

  • Standard Query Parser
  • DisMax Query Parser
  • Extended DisMax Query Parser (eDisMax)

第一种是标准的Parser,最后一种是最强大的,也是Sunspot默认使用的Parser。

支持的参数:

  • defType: 选择查询解析器类型,例如dismax, edismax
  • q:主查询参数(field_name:value)
  • sort:排序,例如score desc,price asc
  • start:起始的数据偏移offset,用于分页
  • raws:一次返回的数量,用于分页
  • fq:filter query 返回结果的过滤查询
  • fl:fields to list 返回的字段(*, score)
  • debug:返回调试信息,debug=timing,debug=results
  • timeAllowed:超时时间
  • wt:response writer返回的响应格式

下面是DisMax Parser可以使用的:

  • qf:query fields,指定查询的字段,指定solr从哪些field中搜索,没有值的时候使用df
  • mm:最小匹配比例
  • pf:phrase fields
  • ps:phrase slop
  • qs:query phrase slop

特殊符号意义:

  • ?:te?t 单个字符匹配
  • *:tes* 多个字符匹配
  • ~:fuzzy searches(模糊匹配),roam~,roams/foam/foams
  • count:{1 TO 10}:range search 范围检索
  • ^:Boosting a Term(升级权重),jakarta^4 apache, "酒店"^4 "宾馆"
  • ^=:Constant Score with(指定分数),(description:blue OR color:blue)^=1.0 text:shoes

逻辑操作

  • AND 或者 &&
  • NOT 或者 !
  • OR 或者 !!
  • + 必须满足
  • - 剔除,比如 title: -安徽,返回的是title中不含有"安徽"的所有结果
时间: 2024-12-17 15:41:39

Solr学习笔记——查询的相关文章

MongoDB学习笔记(查询)

1.  基本查询:    构造查询数据.    > db.test.findOne()    {         "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"),         "name" : "stephen",         "age" : 35,         "genda" : "male",      

【转】MongoDB学习笔记(查询)

原文地址 MongoDB学习笔记(查询) 基本查询: 构造查询数据. > db.test.findOne() { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35, "genda" : "male", "email" : "[em

Lucene/Solr学习笔记(一)

solr简介 Solr是一个开源的,企业级搜索服务器.Solr可以理解为Lucene的服务器化产品.它使用java编写,遵循http协议和xml协议,使用多种数据格式(如json,xml)传递数据. 但她不是对Lucene的一次简单封装,Solr的大多数特征都与Lucene不同.Solr 和 Lucene 的界限经常是模糊的.以下是Solr的主要特性: 通过HTTP请求来     建立索引和搜索索引 拥有数个缓存 来 加快搜索速度 一个基于web的管理员控制台 运行时做性能统计,包括缓存 命中/

Solr学习笔记——导入JSON数据

1.导入JSON数据的方式有两种,一种是在web管理界面中导入,另一种是使用curl命令来导入 curl http://localhost:8983/solr/baikeperson/update/json?commit=true --data-binary @/home/XXX/下载/person/test1.json -H 'Content-type:text/json; charset=utf-8' 2.导入的时候注意格式 使用curl可以导入的格式 { "add": { &qu

Solr学习笔记(一)

最近准备为一个产品做一个站内的搜索引擎,是一个java产品.由于原来做过Lucene.net,所以自然而然的就想到了使用Lucene.在复习Lucene的过程中发现了Solr这个和Lucene绑定在一起的Apache的子项目,发现这个搜索服务器正是我们想要的.原来我们做Lucene,会把索引和搜索都放在同一个网站下,也就是在网站启动的时候,或定时在网站应用程序中进行Lucene的初始化和索引,并使用Lucene搜索API提供搜索服务.这个过程,应用网站既提供了搜索内容的提供者(从数据库或文件提取

solr学习笔记section1-在tomcat中部署单(节点)机solr5.5.4

solr自带jetty内嵌容器,但在实际开发工作中,大家喜欢使用tomcat容器,因此这篇笔记主要讲解如何在tomcat中配置和启动solr 注意,由于采用的solr版本是5,容器的servlet版本需要是3.0以上,所以tomcat的选择需要是8.0及以上版本. 在系统中任意位置建立一个solr-home文件夹,用于以后存放solr所有相关的配置及数据,如图,我建立在/home/下 利用wget在该目录下下载好solr安装包和tomcat安装包,并解压到当前文件夹 wget http://ap

Solr学习笔记 在Tomcat上部署运行Solr

上一篇我们初识了Solr并且学习了Jetty的启动方式,查看了Solr的管理界面,这一篇我们来实现在Tomcat上部署运行Solr. 部署环境: window7 jdk1.6.0_14 Solr-4.7.2 tomcat-6.0.37 Solr的安装配置Solr home ,主要介绍基于JNDI的配置,其它方式可以参考Solr的wiki. 基于JNDI配置 1:首先建立一个Solr的运行目录. C:\solr-tomcat 将解压缩包中的D:\work\work-tools\solr\solr-

10W学习笔记——查询之联接

学习完数据库查询的聚合.分支.日期和格式化四个功能后,这周我们又学习探索了数据库联接这一新功能.这个功能的亮点在于它可以将几个甚至更多的表连接起来,从而实现我们想要达到的查询目的.现在让我们一起来看看在使用这个功能的时候会有哪些要点和难点吧! 1.在学院表.专业表.学位表中,查询各学院及其下设各专业的全称.学制.学位: 2.在学院表.专业表.班级表中,查询各学院及其下设各班级的名称(入学年份后2位+专业简称+行政班): 3.在学生成绩表.学生表.班级表.专业表.教学任务表.教材表中,查询14信管

solr 学习笔记(一)--搜索引擎简介

一 搜索引擎是什么一套可对大量结构化.半结构化数据.非结构化文本类数据进行实时搜索的专门软件最早应用于信息检索领域,经谷歌.百度等公司推出网页搜索而为大众广知.后又被各大电商网站采用来做网站的商品搜索.现广泛应用于各行业.互联网应用.是大型系统.网站架构师必备技能. 搜索引擎是用来解决什么问题的 专门解决大量结构化.半结构化数据.非结构化文本类数据的实时检索问题. 这种实时搜索数据库做不了. 搜索引擎适合什么场景使用? 大量结构化.半结构化.非结构化文本类数据的实时搜索 信息检索(如电子图书馆.