Solr Searching
一个搜索查询由一个request handler处理,它调用一个query parser来解析查询的词语和参数。默认的query parser是DisMax,Solr也包含Standard (Lucene),和Extended DisMax (eDisMax) query parser.
Standard的搜索语法要求更高准确性,但DisMax容错性更好,像Google等流行搜索引擎一样很少向用户展示搜索语法错误,eDisMax是DisMax的改进,在容错的同时处理所有Lucene查询语法。
Query语法与解析
所有Query Parser插件都是QparserPlugin的子类,如果你想自定义,则需要继承它以实现自己的QueryParser。
共通查询参数
defType 选择query parser用于处理主查询参数(q),如defType=dismax, 默认使用Standard Query Parser.
sort 在指定域上升降序排列(asc,desc)
start
rows
fq 过滤查询
fl Field List, 限制返回的参数列表, (*score 返回所有域和分数)
fl=id,title,product(price,popularity),用函数计算伪域
debug debug=timing/results/query
explainOther
timeAllowed 返回指定时间内找到的结果
omitHeader 不返回响应头
wt Response Writer
cache=false
logParamsList 限制记录日志参数 logParamsList=q,fq
The Standard Query Parser
从Solr 1.3开始,Standard Request Handler调用DisMax query parser作为默认parser.
q 使用标准语法定义一个查询
q.op 指定默认操作符 "AND"or "OR",(自动分词后)词之间操作符(非域之间)。
df 指定一个默认搜索域
The DisMax Query Parser
DisMax(Maximum Disjunction)设计用于处理用户输入的简单短语,并且以不同权重在不同域上搜索。附加的选项使用户可以基于不同用例来影响打分。
q 定义查询的原始输入
q.alt 如果指定,当q参数没有指定或为空时,作为查询。
qf Query Fields, 指定查询的域列表,每个域可以指定一个因子用于增强或减弱域的重要性。如果未指定,默认使用df.
mm Minimum "Should"Match:一个查询中最少需要匹配的字段,如果mm=1,则相当于OR;
pf Phrase Fields:对q参数中所有词语都近邻出现的文档加分。
ps Phrase Slop: 指定两个词间的距离,以匹配特定短语。
qs Query Phrase Slop: 指定两个词间的距离,以匹配特定短语。与qf参数一起特别使用。
tie Tie breaker: 打破平局
bq Boost Query: 指定一个因子使词或短语在匹配时重要性“增加”。
bf Boost Function: 指定增强函数
q.op AND,OR 输入关键词中用空格分隔的短语之间的匹配关系(不用空格无效,不是自动分词后的词间关系,区别于Standard)。
Solr Searching相关推荐
- Solr Searching(一)
In this chapter, you are going to learn about: • Request handlers • Query parameters • S ...
- 搜索引擎之---Apache solr的实现
Solr 是一种可供企业使用的.基于 Lucene 的搜索服务器,它支持层面搜索.命中醒目显示和多种输出格式.在这篇分两部分的文章中,Lucene Java™ 的提交人 Grant Ingersoll ...
- 实时分布式搜索引擎比较(senseidb、Solr、elasticsearch)
1 1. Solr 1.1 Features 1.2 Pros & Cons 1.3 References 2 2. Senseidb 2.1 Features 2.2 Pros & ...
- ElasticSearch,Sphinx,Lucene,Solr,Xapian。哪种适合哪种用途? [关闭]
我目前正在寻找其他搜索方法,而不是拥有一个巨大的SQL查询. 我最近看到了弹性搜索并玩弄了嗖 (搜索引擎的Python实现). 你能说出你的选择理由吗? #1楼 我的sphinx.conf sourc ...
- Guide: Solr performance tuning--转载
原文地址:http://h3x.no/2011/05/10/guide-solr-performance-tuning Introduction I have for the last year be ...
- Importing/Indexing database (MySQL or SQL Server) in Solr using Data Import Handler--转载
原文地址:https://gist.github.com/maxivak/3e3ee1fca32f3949f052 Install Solr download and install Solr fro ...
- 使用solr的完整流程
本文摘要 一.下载与安装 二.运行solr 三.创建core实例 四.配置schema 五.DIH导入数据 六.solrJ(java客户端) 本文所用到的工具 Postman :简单说就是一个可以发送 ...
- 【solr基础教程之二】索引
一.向Solr提交索引的方式 1.使用post.jar进行索引 (1)创建文档xml文件 <add><doc><field name="id"> ...
- 【转载】 Searching过程粗略梳理
转载自:http://www.cnblogs.com/huangfox/archive/2012/02/09/2344686.html solr-searching过程分析(一) --searchin ...
最新文章
- C++ 中 inline 用法概述
- Google X垃圾分类机器人横空出世,再也不怕分不清干垃圾湿垃圾有害垃圾了
- Java,开源,分享
- 系列TCP/IP协议-动态IP选路协议(008)
- Java【第九篇】异常处理
- ffmpeg处理RTMP流媒体的命令 发送流媒体的命令(UDP,RTP,RTMP)
- 计算机网络简答题与计算题
- redis 字符串基本操作
- 15. 从远程库克隆
- 10.22~10.28一周经典题目整理(meeting,BZOJ4377,POJ3659)
- 机顶盒网络包获取方式
- LM2596有没有可以替代的?LM2576可以
- 学会怎么买一折飞机票
- 【OpenGL ES】着色语言GLSL
- 如何批量修改照片后缀名
- iOS开发之企业开发者账号打包发布 App 到服务器上的流程
- BIOS中断大全(表格)
- Flutter自定义Widget之炫酷粒子时钟效果
- sdut——4541:小志志和小峰峰的日常(取石子博弈模板题 4合1)
- python变量名区分大小写_Python变量名区分大小写,所以student和Student不是同一个变量。...