网友BUFFON问了我一个问题 ,问题地址可以点此 链接

我们来看看这个问题

怎样实现在按一个或多个FEILD的匹配度排序的同时又按一个FIELD的顺序排序

以及BUFFON想要达到的效果:

----------------------------------
|  field1        |       field2      |
-----------------------------------
| XXXXXXX1 |  333              |
-----------------------------------
| XXXXXXX2 |  333              |
-----------------------------------
| XXXXXXX3 |  222              |
-----------------------------------
| XXXXXXX4 |  333              |
-----------------------------------
| XXXXXXX5 |  555              |
-----------------------------------
然后我想再按field2进行分组和归类,使得到的结果变成这样
----------------------------------
|  field1        |       field2      |
-----------------------------------
| XXXXXXX1 |  333              |
-----------------------------------
| XXXXXXX2 |  333              |
-----------------------------------
| XXXXXXX4 |  333              |
-----------------------------------
| XXXXXXX3 |  222              |
-----------------------------------
| XXXXXXX5 |  555              |
-----------------------------------

我觉得这个问题的提法有些问题,
1)好像不存在关于某个field的相关度的说法,只有整条记录的相关度,
2)你并没有对多字段排序的需求

看了你的问题,我觉得你想要的是:
点击某个字段,然后
先按点击字段排序再按匹配度排序

解决办法

new Sort(new SortField[]...{
    new SortField("orderby"),
    SortField.FIELD_SCORE
}

创建一个sort实例,构造方法见上面的代码,传到seach方法。代码中的 orderby就是你点击的filed名,更准确的说是你建索引时的名字。

这个问题给我们的提示就是对于复杂的排序,应该使用Sort类的构造方法

Sort(SortField[] fields) 

这个构造方法可以解决多字段排序,可以指定

1)按哪个或哪些字段排
2)排序字段类型
3)升序或者降序
4)记录相关度
5)建索引时的索引顺序

其他的有关细节我就不再赘述了

使用lucene的多字段排序--回复网友BUFFON相关推荐

  1. ng-repeat根据多个字段排序

    2019独角兽企业重金招聘Python工程师标准>>> ng-repeat多个字段排序的写法 使用orderBy过滤器,第一个参数是一个数组,表示依次按数组中的属性值进行排序(若按第 ...

  2. mysql order by 多字段排序

    工作中需用到order by 后两个字段排序,但结果却产生了一个Bug,以此备录. [1]复现问题场景 为了说明问题,模拟示例数据库表students,效果同实例. 如下语句Sql_1: 1 SELE ...

  3. vim 按照字段排序文件

    假设有如下数据,以空格为数据列分割: 1  何维川   124.63     172  0.72 2  张子寅   99.67      172  0.58 3  周广滨   93.34      1 ...

  4. 一个关于nvarchar字段排序,中英文混合排序的问题

    有一个nvachar字段,里面有很多中英文混合的纪录 当按照这个字段排序的时候,无法按照英文a-z.中文的顺序排列 晴问如何解? 另外如何设置排序规则 你看看现在是什么排序规则? select  SE ...

  5. linux sort 时间排序,linux sort多字段排序实例解析

    本文研究的主要是linux sort多字段排序,具体介绍如下. Linux多数发行版自带的sort程序,非常强大,在此只说多字段排序 sort 有个参数-k,可以指定字段,有比较复杂的语法,不在文本范 ...

  6. php根据数组某一字段排序,php如何根据数组中某一字段来实现排序

    php如何根据数组中某一字段来实现排序 发布时间:2020-04-28 14:53:01 来源:亿速云 阅读:40 作者:小新 php如何根据数组中某一字段来实现排序?很多人都不太了解,今天小编为了让 ...

  7. mysql ef 随机排序_EFCore+Mysql倉儲層建設(分頁、多字段排序、部分字段更新)

    前沿 園子里已有挺多博文介紹了EFCore+Mysql/MSSql如何進行使用,但實際開發不會把EF層放在Web層混合起來,需要多個項目配合結構清晰的進行分層工作,本文根據個人實踐經驗總結將各個項目進 ...

  8. CakePHP下使用paginator需要对多个字段排序的做法

    原文:http://blog.csdn.net/kunshan_shenbin/article/details/7644603  CakePHP下使用paginator需要对多个字段排序的做法 201 ...

  9. 在Lucene.net实现自定义排序

    在Lucene.net实现自定义排序,需要实现两个Lucene.Net.Search的两个接口: public interface SortComparatorSource {    ScoreDoc ...

最新文章

  1. 禁止mysql+root,禁止MySQL root远程访问
  2. PHP IDE免费干货来了!
  3. linux shell脚本 删除指定目录下文件夹(可指定文件夹名、时间)
  4. java的HTML5常量用final说明
  5. java与c语言_Java与C语言的区别之我见
  6. 物质之学 —— 等离子(物质的第四态)
  7. sapply lapply_R编程中的apply(),sapply(),lapply()和tapply()函数
  8. 网络 猫,路由器,交换机连接设置
  9. Mysql提权之反弹shell
  10. Eclipse快捷键大全
  11. 微信小程序开发工具_云函数本地调试的依赖下载安装情况查看/云函数本地调试基础/调试手段和技巧
  12. 什么是受限股票(RSU)、二级市场、蓝筹股
  13. CAS:870041-75-0,DMAc-PP,热活化延迟荧光(TADF)材料
  14. ESP8266通过arduino IED连接巴法云(TCP创客云)
  15. 幻塔html5,《幻塔》角色情报:完美破坏者“伊希斯”
  16. PLS-00907: cannot load library unit
  17. linuxprobe第二弹
  18. 学会 Arthas,让你 3 年经验掌握 5 年功力!
  19. 使用iPhone配置腾讯企业邮箱
  20. 阿里云产品推荐——轻量应用服务器

热门文章

  1. AWVS扫描Web应用程序
  2. java 前置_java – 何时添加前置条件以及何时(仅)抛出异常?
  3. Linux git环境搭建和常用指令--推送至Github为例
  4. ZZULIOJ-1001,植树问题(Java)
  5. java匿名内部类,什么是匿名内部类,如何定义匿名内部类,如何使用匿名内部类?
  6. unity5.6.5适配Android P刘海屏,两侧去黑边
  7. 函数function的使用方法
  8. 量化投资可转债策略--源代码
  9. 泛函分析笔记06:Lp与lp空间
  10. 智能硬件的一些框架性内容