后台搜索使用的java api

public List searchQueryTeam(String term, int limit, int offset, int isHighlight, long seed) throws Exception {

final List list = new ArrayList();

SearchRequestBuilder srbTeam = client.prepareSearch(INDEX_NAME)

.setTypes("Team")

.setSearchType(SearchType.DEFAULT);

if (StringUtils.isNotEmpty(term)) {

BoolQueryBuilder qbTeam = QueryBuilders.boolQuery().must(QueryBuilders.termQuery("rowState", 0))

.mustNot(QueryBuilders.termQuery("status", 1));

qbTeam.must(QueryBuilders

.boolQuery()

.should(QueryBuilders.wildcardQuery("name", "*" + term + "*").boost(10f))

.should(QueryBuilders.fuzzyLikeThisQuery("name", "description", "tag").analyzer("ik")

.likeText(term)).boost(0.1f));

srbTeam.setQuery(qbTeam);

}

……

当term是10时,在head里复制了上面程序生成的语句

{

"from" : 0,

"size" : 10,

"query" : {

"bool" : {

"must" : [ {

"term" : {

"rowState" : 0

}

}, {

"bool" : {

"should" : [ {

"wildcard" : {

"name" : {

"wildcard" : "*10*",

"boost" : 10.0

}

}

}, {

"flt" : {

"fields" : [ "name", "tag","description" ],

"like_text" : "10",

"analyzer" : "ik"

}

} ],

"boost" : 0.1

}

} ],

"must_not" : {

"term" : {

"status" : 1

}

}

}

}

}

查询的结果

hits: {

total: 2

max_score: 0.9193326

hits: [

{

_index: tmwk

_type: Team

_id: 309

_score: 0.9193326

_source: {

createDate: 2014-12-11 15:41:25

rowState: 0

id: 309

name: 产品研发团队

description: 产品研发团队是公司的重中之重,所有产品的源头来源于需求

status: 0

tag: 19, 17, 狗, 18, 15, 四六级, 我的

projectCount: 0

userCount: 0

role: null

lastModifiedDate: 2014-12-24 16:26:38

}

}

{

_index: tmwk

_type: Team

_id: 270

_score: 0.90041924

_source: {

createDate: 2014-11-21 17:00:09

rowState: 0

id: 270

name: 10101010

description: sddd四六级额哦如萨拉杜甫,算法链接偶萨拉非。三等奖哦额乳酸代理费见,斯蒂芬就咯额ulsdjfsd。

status: 0

tag: 牛逼, 埃菲尔, 英国, 乒乓, 自行车, 天鹅

projectCount: 0

userCount: 0

role: null

lastModifiedDate: 2014-11-21 17:00:09

}

}

]

}

建索引前,先设置了mapping,对name字段不做分词,其他的字段analyzer都设置为ik,不明白查询关键词是10时,为何会匹配到tag: 19, 17, 狗, 18, 15, 四六级, 我的 这条,而且排名第一,程序里设置的boost也完全没生效,请问如何能做到准确匹配跟使模糊查询结果排到后面

querybuilder 排序_elasticsearch的匹配与排序问题相关推荐

  1. querybuilder 排序_Elasticsearch高级搜索排序( 中文+拼音+首字母+简繁转换+特殊符号过滤)...

    一.先摆需求: 1.中文搜索.英文搜索.中英混搜   如:"南京东路","cafe 南京东路店" 2.全拼搜索.首字母搜索.中文+全拼.中文+首字母混搜   如 ...

  2. 开发小技巧之:unicode的排序和正则匹配

    文章目录 简介 ASCII字符的排序 本地字符的排序 为什么不使用unicode进行排序 emoji的正则匹配 总结 简介 我们知道计算机最先兴起是在国外,出于当时计算机性能的考虑和外国常用字符的考虑 ...

  3. c语言排序常用问题,【更新中】【排序详解】解决排序问题(以C语言为例)

    [更新中][排序详解]解决排序问题(以C语言为例) [更新中][排序详解]解决排序问题(以C语言为例) 文章目录 排序的相关概念 简单排序 一.插入排序: (一)插入排序基本思想 (二)插入排序基本操 ...

  4. es查询java代码如何排序_elasticsearch 查询聚合结果排序

    一.查询结果按某个字段进行排序 { "size" : 5, "query" : { "bool" : { "filter" ...

  5. java comparable排序_Java使用Comparable解决排序问题

    本文实例讲述了Java使用Comparable解决排序问题的方法.分享给大家供大家参考.具体实现方法如下: 一次举重竞赛的比赛规则是:选手的成绩以成功举起的总重量来排序,举起总重量多的排在前面:当举起 ...

  6. es修改排序_ElasticSearch 评分排序

    背景 通过脚本改变评分 背景 近期有一个需求,需要对优惠券可用商品列表加个排序,只针对面值类的券不包括折扣券. 需求是这样的,假设有一张面值券 50 块钱,可用商品列表 A 100.B 40.C 10 ...

  7. linux磁盘文件排序 hdfs文件大小排序 sed正则匹配

    linux下文件大小排序 hdfs文件系统中的文件大小排序 文章目录 前言 一.本地磁盘文件排序 二.hdfs文件排序 总结 前言 在工作和学习中,我们经常需要做一些简单的运维工作,其中最为典型的就是 ...

  8. sql多字段求和降序排序_elasticsearch基础笔记11-搜索排序

    1.默认排序 ES是按照查询和文档的相关度进行排序的,默认是降序排列,也就是说,我们之前的查询, 可以认为是下面这样子的,. 当然,我们也可以换一个字段来进行排序,那么,就不用评分了. 全文搜索也类似 ...

  9. 字典排序什么意思_字典排序问题

    2018-01-03@望京 排序,立即想到用Python的内置函数sorted() Python 2.x 中 sorted(...) sorted(iterable, cmp=None, key=No ...

最新文章

  1. 世界一流大学真的建成了?26所“985”高校自评报告出炉
  2. sqlserver yml配置文件
  3. Nginx server之Nginx作为反向代理服务器
  4. matlab图片白边_Matlab论文插图消除白边的5种方法
  5. golang 的 tag
  6. 冒着得罪大佬的风险,曝光下这件事
  7. 自动特征工程在推荐系统中的研究
  8. 海康威视球机摄像头晚上补光灯闪烁问题
  9. I LOVE YOU TOO密码解析
  10. GIS应用技巧之定义图框样式
  11. Linux安装wget
  12. Log4j2 漏洞检测工具清单
  13. uniapp H5 调用高德地图导航
  14. mysql 拼音查询_MySQL拼音首字母查询
  15. 中国六大最忙和六大最懒城市
  16. myaql数据库如何建表
  17. 本地搭建私有云盘:虚拟机安装群晖NAS 1/5
  18. 一文教你看懂Fama-French三因子模型
  19. 视网膜电图特征可以检测成人的抑郁状态和治疗反应:一种机器学习方法
  20. 爬虫爬数据时,post数据乱码解决办法

热门文章

  1. 我们需要什么样的开源教育?
  2. Dapr Meetup 3.22【周六】
  3. “开源、共享、创新” 2020 中国.NET开发者大会小结
  4. 打造钉钉事件分发平台之钉钉审批等事件处理
  5. .NET Core开发实战(第16课:选项数据热更新:让服务感知配置的变化)--学习笔记...
  6. 在ASP.NET Core中编写合格的中间件
  7. .NET Core跨平台部署于Docker(Centos)- 视频教程
  8. 开源基于Canal的开源增量数据订阅消费中间件
  9. asp.net core sdk runtime 镜像[已更新至2.2.0]
  10. TensorflowSharp 简单使用与KNN识别MNIST流程