Solr中的一些查询参数
fl: 是逗号分隔的列表,用来指定文档结果中应返回的 Field 集。默认为 “*”,指所有的字段。
defType: 指定query parser,常用defType=lucene, defType=dismax, defType=edismax
q: query。
q.alt: 当q字段为空时,用于设置缺省的query,通常设置q.alt为*:*。
qf: query fields,指定solr从哪些field中搜索。
pf: 用于指定一组field,当query完全匹配pf指定的某一个field时,来进行boost。
简言之pf的作用是boosting phrases over words。
fq: filter query,过虑查询。
mm: minimal should match。Solr支持三种查询clause,即“必须出现”, “不能出现”和“可以出现”,分别对应于AND, -, OR。
在默认情况下,使用OR这个clause。mm用于设置在使用OR这个clause时,需要出现最少的满足条件的clause数量,详见这里。
ps: Phrase Slop. Amount of slop on phrase queries built for "pf" fields (affects boosting). ps is about pf parameter. ps affects boosting, if you play with ps value, numFound and result set do not change. But the order of result set change. This is about the phrase query that is constructed out of the entire "q" param. ps is slop applied to the phrases created from the entire query for evaluating pf boosts. ps will only (potentially) change the ranked ordering of your result set, by loosening what a "phrase match" means to the pf boost.
ps的例子:
Lets say your query is apache solr. (without quotation marks)
Lets say these three documents contains all of these words and returned.
1-) solr is built on the top of apache lucene.
2-) apache solr is fast, mature and popular.
3-) solr is hosted under apache umbrella.
Even if you don't use pf and ps parameters, those
documents will be in result set anyway. Lets say that they appear in
this order 1,2,3.
Then we include pf and ps parameter, q=apache solr&pf=title^1.2&ps=1
Second document is boosted, lets say it comes first
now. The order is changed. The documents - that have the all query words
close each other - are boosted. Again the same three documents are
returned.
qs: Query Phrase Slop. Amount of
slop on phrase queries explicitly included in the user's query string
(in qf fields; affects matching). qs affects matching. If you play with qs, numFound changes. This parameter is about when you have explicit phrase query in your raw query. i.e. &q="apache lucene" . qs is slop applied to phrases explicitly in the &q with double quotes. qs will (potentially) change your result set.
tie: tie breaker。
bq: 对某个field的value进行boost,例如brand:IBM^5.0。
bf: Function (with optional boosts) that will be
included in the user's query to influence the score. Any function
supported natively by Solr can be used, along with a boost value, e.g.:
recip(rord(myfield),1,2,3)^1.5
wt: writer type,指定输出格式,可以有 xml, json, php, phps。
q.op: 覆盖schema.xml的defaultOperator(有空格时用"AND"还是用"OR"操作逻辑)。
df: 默认的查询字段。
qt: query type,指定那个类型来处理查询请求,一般不用指定,默认是standard。
Solr中的一些查询参数的更多相关文章
- SpringMVC+Thymeleaf如何处理URL中的动态查询参数
1.使用一个Map<String, String>接收数据 When you request a Map annotated with @RequestParam Spring creat ...
- 用正则表达式获取URL中的查询参数
总结获取url中查询参数的两种方式 通过正则表达式获取单个参数 url中的所有查询参数可以通过 window.location.search 字段获取,以字符串的形式返回.并有固定的格式 ?param ...
- hibernate HQL查询参数设置
Hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定,如下代码传统JDBC的参数绑定: Prepa ...
- Solr 08 - 在Solr Web管理页面中查询索引数据 (Solr中各类查询参数的使用方法)
目录 1 Solr管理页面的查询入口 2 Solr查询输入框简介 3 Solr管理页面的查询方案 1 Solr管理页面的查询入口 选中需要查询的SolrCore, 然后在菜单栏选择[Query]: 2 ...
- Solr学习总结(四)Solr查询参数
今天还是不会涉及到.Net和数据库操作,主要还是总结Solr 的查询参数,还是那句话,只有先明白了solr的基础内容和查询语法,后续学习solr 的C#和数据库操作,都是水到渠成的事.这里先列出sol ...
- solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据
solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据 上一节我们完成了solr连接数据库,细心的朋友会发现一个问题,就是solr其实和语言没有任何关系,配置完成后任何语 ...
- 【转】Solr客户端查询参数总结
今天还是不会涉及到.Net和数据库操作,主要还是总结Solr 的查询参数,还是那句话,只有先明白了solr的基础内容和查询语法,后续学习solr 的C#和数据库操作,都是水到渠成的事.这里先列出sol ...
- Solr中的q与fq参数的区别
转自:搜索系统5:Solr中的q与fq参数的区别在那儿 1.对结果排序有影响 今天遇到一个问题,把相同的参数比如name:张三,放到q与fq,两者返回的结果完全不一样. 经过debug发现,原因是这两 ...
- Solr查询参数sort(排序)
摘要: Solr查询每一次返回的数据都有一定的顺序,特定顺序的结果对于业务来说可能非常重要. 不指定排序 一般我们不指定排序规则,这样的结果能满足大部分需求,默认是用文档的得分作为排序标准.相当于加上 ...
随机推荐
- configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/
编译php出现错误: configure: error: Please reinstall the libcurl distribution - easy.h should be in <cur ...
- postman-2get发送请求
文档地址:https://www.v2ex.com/p/7v9TEc53 第一个API请求 最热主题 相当于首页右侧的 10 大每天的内容. https://www.v2ex.com/api/topi ...
- Calendar时间操作
1.Calendar是Java提供的一个util类,在java.util中.我们在开发过程中经常遇到,需要对时间进行处理的方式.而Java中Calendar给我们提供了很好的控制方式. 2.我这里主要 ...
- 客户端调用wcf服务,如何提高调用性能
IO调用服务 1.使用using(每次自动释放) ; i < ; i++) { var watch = new Stopwatch(); watch.Start(); using (var cl ...
- Solr分组聚合查询之Facet
摘要: Solr的分组聚合是一个笼统的概念,目的就是把查询结果做分类,有多种方式可以做到很类似的结果.也正是由于它们的不同表现,可以适合于多种场景. 何为Facet Facet是一种手段,用来将搜索结 ...
- probably another instance of uWSGI is running on the same address (127.0.0.1:9090). bind(): Address already in use
probably another instance of uWSGI is running on the same address (127.0.0.1:9090). bind(): Address ...
- 常见反编译产生错误 k__BackingField 解决办法
常见反编译产生错误 k__BackingField 解决办法 无聊反编译小蚂蚁出现上千的错同样的错 private bool <EnableRuntimeHandler> ...
- 可视化库-Matplotlib-直方图(第四天)
1.plt.hist(array, bins, color) # array表示数值, bins表示的是bin的范围 data = np.random.normal(0, 20, 1000) # 画 ...
- Java 目标
Java 技术 其次掌握的技能树主要有三个方面:第一个是基础,比如对集合类,并发包,IO/NIO,JVM,内存模型,泛型,异常,反射,等有深入了解,最好是看过源码了解底层的设计.比如一般面试都会问Co ...
- Kubernetes集群的安装部署
此文参照https://www.cnblogs.com/zhenyuyaodidiao/p/6500830.html,并根据实操过程略作修改. 1.环境介绍及准备: 1.1 物理机操作系统 物理机操作 ...