solr特点三: 排序样例汇总
单维度排序
//查询条件
query.setQuery(queryString);
// add 是添加
query.addSortField(field_price, ORDER.asc);
//set是覆盖,也就是后面的覆盖前面的。
query.setSortField(field_price,ORDER.desc);
//如果需要第一维度值相等,按第二维度继续排序的话,继续add
query.addSortField(field_fans_count, ORDER.asc);
一般两个维度就可以了,也有定义第三个维度,就过去经验看,第三维度基本没起到区分效果。第一、二维度比较关键。
文本排序
// 查询条件 没有设定排序的,默认就是文本排序。文本的因子可以动态调整或者plugin的
query.setQuery("user_nick:淘宝女装");
离线得分排序
// 查询条件
query.setQuery("user_nick:淘宝女装");
//离线生成域field_service_value,里面保持复杂得分模型运算后的分值
query.addSortField(field_service_value,ORDER.desc);
boost查询排序
// 查询条件 表示命中nick的权重是2,而命中descr的权重是0.5,最终是二者求和
query.set("defType","lucene");
query.setQuery("(user_nick:淘宝女装)^2 OR (user_descr:淘宝女装)^0.5");
//查询条件,表示命中nick的权重2,命中descr权重0.5,最终那个大取那个
query.set("defType","dismax");
query.setQuery("淘宝女装");
query.add("qf","user_nick^2,user_descr^0.5");
function查询排序
//按照指定函数排序
query.set("q","user_nick:淘宝女装");
query.set("sort","sum(fans_count,1) desc");
文本和函数混合排序
//文本排序得分 乘以权重2
query.set("defType","dismax");
query.setQuery("淘宝女装");
query.add("qf","user_nick^2")
//文本得分排序 乘以函数值
query.set("defType","dismax");
query.setQuery("淘宝女装");
query.add("bf","div(fans_count,1)");//相除
//文本得分排序 乘以函数值
query.set("defType","lucene");
query.setQuery("user_nick:淘宝女装 AND _val_:fans_count");
//文本得分排序 乘以函数值
query.set("defType","lucene");
query.setQuery("user_nick:淘宝女装 AND _val_:fans_count^2");
//文本得分排序 乘以函数值
query.set("defType","lucene");
query.setQuery("(user_nick:淘宝女装)^0.5 AND _val_:fans_count^2");
//文本得分排序 乘以函数值
query.set("defType","lucene");
query.setQuery("(user_nick:淘宝女装)^0.5 AND _val_:1.5");
//文本得分排序 与函数值 指定组合
query.set("defType","func");
query.add("qq","{!dismax qf=user_nick}淘宝女装");
query.add("q","product(fans_count, query($qq,0.1))") ;
个性化排序
//这里搜索user_nick:淘宝女装的时候,文本得分可以是调整过的或者默认的
query.setQuery("(user_nick:淘宝女装)^8 OR (user_descrip:淘宝女装)^2");
query.setQuery("((user_nick:淘宝女装) AND _val_:fans_count) OR (user_descrip:淘宝女装)^2");
其他,函数查询的发挥。文本域函数结合查询的发挥了。
参考链接
http://wiki.apache.org/solr/DisMaxQParserPlugin
solr特点三: 排序样例汇总的更多相关文章
- 教你写Http框架(二)——三个样例带你深入理解AsyncTask
这个标题大家不要奇怪,扯Http框架怎么扯到AsyncTask去了,有两个原因:首先是Http框架除了核心http理论外.其技术实现核心也是线程池 + 模板 + handler,而AsyncTask又 ...
- springMVC的接受参数三种样例
- solr特点三: QueryElevation(编辑结果排序)
在理想的情况下,搜索引擎只返回与用户查询相关的文档.而在现实的查询中,编辑(没发现更合适的表达)通常需要指定特定文档在搜索结果中的特定位置.这样做有很多原因.或许 “置顶” 的文档就是最好的查询结果. ...
- Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml) -- 样例(6)
managed-schema 样例: <?xml version="1.0" encoding="UTF-8" ?> <!-- License ...
- C++的性能C#的产能?! - .Net Native 系列《三》:.NET Native部署测试方案及样例
之前一文<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥> 获得很多朋友支持和鼓励,也更让我坚定做这项技术的推广者,希望能让更多的朋友了解这项技术,于是先从官方 ...
- Python word_cloud 样例 标签云系列(三)
转载地址:https://zhuanlan.zhihu.com/p/20436642word_cloud/examples at master · amueller/word_cloud · GitH ...
- TreeSet排序,存储自己定义对象,自己定义比較器演示样例
Set:无序.不能够反复元素. |--HashSet:数据结构是哈希表.线程是非同步的. 保证元素唯一性的原理:推断元素的hashCode值是否同样. 假设同样,还会继续推断元素的equals方法.是 ...
- 请编写一个方法,返回某集合的所有非空子集。 给定一个int数组A和数组的大小int n,请返回A的所有非空子集。保证A的元素个数小于等于20,且元素互异。各子集内部从大到小排序,子集之间字典逆序排序,见样例。
题解:观察测试样例,会发现每个子集的选择规律与二进制((2^n) - 1)到 1 的顺序生成的规律是一致的,样例中n=3,2^n-1=7,用二进制表示为111,其中每一位的1表示数组中的三个数都选择. ...
- 【UNIX网络编程(三)】TCP客户/server程序演示样例
上一节给出了TCP网络编程的函数.这一节使用那些基本函数编写一个完毕的TCP客户/server程序演示样例. 该样例运行的过程例如以下: 1.客户从标准输入读入一行文本,并写给server. 2.se ...
随机推荐
- 【转】httpservlet 文章
HttpServlet类 ellisonDon 2012-10-25 12:42 阅读:2015 评论:0 HttpServlet的功能 ellisonDon 2012-10-25 11:02 ...
- mysql 5.6.15升级到5.6.43
今天闲来无事,观察测试环境的zabbix服务器,发现内存泄漏严重,于是重启了,想起了前几天写的帖子发生了严重的内存泄漏可以把mysql升级到最新的小版本 于是乎就试着升级 old version:5. ...
- java DecimalFormat类
今天去面试了,需要上机做题.题目的内容是计算一个货物订单的税费和总价格(包括税费),结果需要精确到两个小数,同时按照如下规则进行处理: 3.01 ——>3.05, 2.48——> ...
- window server2008 r2 限制远程访问用户数量
在服务器端设置 修改组策略 1,开始-运行-gpedit.msc-计算机配置-管理模板-Windows组件-远程桌面服务-远程桌面会话主机-限制连接数量-开启并改为1
- lookup 控件
lookup->ADOQuery->Connection = DataModule1->ADOConnection1; lookup->ADOQuery->SQL-> ...
- Spring-JDBC模板-事务
Spring-JDBC模板-事务 1.事务概述 什么是事务 逻辑上的一组操作,组成这组操作的各个单元要么全部成功要么全部失败 事务的特点ACID 原子性:事务不可分割(事务要么成功,要么失败) 一致性 ...
- Redis Set命令
[Redis Set命令] SET key value [EX seconds] [PX milliseconds] [NX|XX] 将字符串值 value 关联到 key . 如果 key 已经持有 ...
- SIEBEL GET最新时提示表异常
无法GET最新,则将此表GET一次,CHECK OUT下来,再UNDO CHECK IN即可
- jsp中常用的标签
jsp本质上就是一个servlet,只是tomcat会将其翻译成servlet,servlet本质上是一个类,那么jsp也是一个类.jsp中各种标签都会被tomcat翻译成各种基本的java代码 如果 ...
- C# Action
Action<T> Delegate Encapsulates a method that has a single parameter and does not return a val ...