solr:关于dismax的使用情况(转:https://my.oschina.net/momohuang/blog/145379)
首先说说 dismax这个功能,它是基于lucene的DisjunctionMaxQuery去 扩展的,就是说,实际上用到的就是DisjunctionMaxQuery的这个查询类。查询api,可以知道是 对查询的几个域中,取最大的打分,而不是想boolean查询那样,要几个域的查询的分数叠加。
1、q.alt, 没有看明白
2、qf对默认查询增加权重比值,比如:fieldOne^1.9 fieldTwo fieldThree^5 ,值越大权重越大
也可以是
1、bf内字段必须是索引的,该出填写的是查询函数 。提供一个强大的功能就是使用用户设置的公式来对文档的score进行计算。这里所说的公式也就是solr的function queries,使用bf参数来操作score。edismax支持boost参数来进行function query。可以使用bf或boost多次。bf的函数查看solr api文档http://wiki.apache.org/solr/FunctionQuery
最终的排序打分,可以根据 bf打分与 lucene的sorce 相加,得到最后打分
2、qf
3、mm , mm=2 就是有两个符合搜索的词 就返回改条 .对应着lucene的类BooleanScorer2
eg:
性别:女 MUST
年龄:<25 SHOULD
胸围: >C should
收入: >10000 should
要符合两个条件才会被 hit,要不直接去掉
4、pf查询字段, 就是phrase fields的缩写, 这样在schema不用制定默认字段
5、ps,phrase slop, 坡度 ,相同于 编辑距离的值,
eg: document:"周杰伦“,query:”杰伦周“,这两个词,如果用 phrasequery,但 slop=2的时候,搜索不出来,当,slop=3的时候,可以搜索出来
6、qs
7、
8、tie:DisjunctionMaxQuery q = new DisjunctionMaxQuery(tie);
不过里面的关系只能是should
最后的分数不是相加,而是取最大值
9、bq,就是boost queries ,bq参数可以用来指定多个查询,类似于automatic phrase boost
当是多个查询的时候,就是 BooleanClause.Occur.SHOULD查询,只有仅有一个查询并且
if (1.0f == f.getBoost() && f instanceof BooleanQuery) 的时候,才是保留着原先的查询。
具体见:DisMaxQParser
10、uf
随便说一下 各个Query的不同做法
1、TermQuery,只是简单的按term 去查询?
2、BooleanQuery,布尔查询 ,与或?
3、RangeQuery
4、PrefixQuery就是使用前缀来进行查找的。
5、多关键字的搜索—PhraseQuery
6、FuzzyQuery是一种模糊查询,它可以简单地识别两个相近的词语。
7、使用通配符搜索—WildcardQuery
8、DisjunctionMaxQuery
solr:关于dismax的使用情况(转:https://my.oschina.net/momohuang/blog/145379)相关推荐
- https://my.oschina.net/closeday/blog/297225
zookeeper 官网:http://zookeeper.apache.org/ 现在最新版本是 3.4.6 ,但是这个版本我没有运行起来,可能是那配置出现问题了,现在我用的是3.4.5 http: ...
- Redmine-4.1.1 异步邮件通知如何配置(使用smtp方式,支持TLS):https://my.oschina.net/SamXIAO/blog/4973213
https://www.redmine.org/issues/30068 https://my.oschina.net/SamXIAO/blog/4973213
- 在线代码格式化网址:https://tool.oschina.net/codeformat/xml
当遇到问题需要我们排查查日志的时候,会遇到日志打印混乱的情况 这时梳理会很困难,需要在线"洗日志",将其格式化成各种格式 网址:https://tool.oschina.net/c ...
- 异常:fatal: unable to access 'https://git.oschina.net/pcmpcs/library.git/': Could not resolve host...
git fork项目时出现的异常. 原因: 我以前用的是ssh地址做的远程通信地址,而这次是用的是https,因为很久没用,所以忘记了以前是用ssh的了. 解决方案一:复制ssh协议的地址,然后再关 ...
- Solr in Action 翻译完成情况
Solr in action读书笔记章节分布 第一篇 初识Solr 第1章 Solr简介 已完成 第2章 了解Solr 待整理 第3章 Solr关键概念 第4章 Solr配置 第5章 索引 第6 ...
- solr 自定义 dismax查询方式
1.在solrconfig.xml中增加 Xml代码 <queryParser name="imdismax" class="com.szhtp.search. ...
- Solr所有的查询解析器Query Parsers(转:http://blog.csdn.net/jiangchao858/article/details/53859731)
摘要: Solr除了支持常见的解析器之外,还有一些特殊用途的解析器,为了便于之后查阅,总结一下.本文整理自Solr官方文档. 解析器 说明 Standard Query Parser Solr的标准查 ...
- Linux --Solr 安装/配置
2019独角兽企业重金招聘Python工程师标准>>> 由于 solr 基于 lucene, 而 lucene 是基于 java, 所以安装 Solr 前要安装 java: http ...
- Solr安装配置(包含Tomcat和jdk)
一.jdk-7windows-x64 下载地址:http://pan.baidu.com/s/1skg1UMx 1.安装:直接解压,然后运行 jdk-7u80-windows-x64.exe 即 ...
最新文章
- 洛谷P2397 yyy loves Maths VI (mode) 摩尔投票
- 响应格式html,设置响应格式的HTML邮件
- 和搜狗输入法快捷键冲突_电脑输入法怎么设置成搜狗双拼?
- php 对比两个压缩包内容,php实现的zip文件内容比较类
- nosql非关系型数据库_从Datomic出发,革命性的非NoSQL数据库
- ajax时间控件,带有ajax的JQuery中的插件datetimepicker出错
- Java常用接口与类——Math类、Random类、BigDecimal类
- 第九届蓝桥杯-嵌入式比赛体会与备赛经验
- 小知识--windows下的电脑关机注销等命令
- 解决java环境变量配置不生效
- 【Python游戏】Python实现一个简易版本的阴阳师游戏 | 附带源码
- $root、$parent、$ref以及父组件方法共享——学习笔记
- [Google] 再见 SharedPreferences 拥抱 Jetpack DataStore
- dell服务器分区表修复,使用 BIOSConnect 恢复 SupportAssist OS Recovery 分区
- 使用pandas来根据出生日期判断星座
- 小豆社保「社保代缴」短信接口被盗刷解决方案-企业短信防火墙
- CentOS7修改内核安装锐速
- win10 查看GPU型号,驱动版本,CUDA版本
- java8 List去重
- 厦门国际银行”数创金融杯“比赛思路及总结
热门文章
- python中的lambda 和java中的lambda有什么不同?lambda相关介绍
- python 项目自动生成requirements.txt文件
- Python 官方推荐的一款打包工具
- VTK:vtkCellPicker用法实战
- wxWidgets:wxListCtrl 示例
- boost::mp11::mp_fill相关用法的测试程序
- boost::geometry::index::detail::union_content用法的测试程序
- Boost:同步化的测试程序
- Boost:是否对齐的测试程序
- DCMTK:搜索助手类的测试程序