首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
elasticsearch排序-----5
】的更多相关文章
ElasticSearch 排序
1.相关性排序 ElasticSearch为了按照相关性来排序,需要将相关性表示为一个数值,在 Elasticsearch 中, 相关性得分 由一个浮点数进行表示,并在搜索结果中通过 _score 参数返回, 默认排序是 _score 降序. GET /index_china/fulltext/_search { "query": { "match": { "name": "小张" } } } 2.按照字段排序 有时,按照相关…
Elasticsearch 排序插件的开发
直接观察到的几个问题 简单expression脚本的执行效率 > java 插件,10000条数据可以测试出1ms左右的差距. Es会不断调用newScript来创建"足够多"的自定义脚本对象,来处理,不管数据量多还是少,应该有个初始值.所以本地有时候只有几条测试数据,它也会创建几十个自定义脚本对象,并不奇怪,这个我纠结了比较久,以为是代码有问题. 数值类型问题 官方有个demo,那个在java8 + es2.0 跑不起来的,主要问题就是这个数值类型. 从source().get…
elasticsearch排序-----5
我们之前查询出的结果都会有一个_score分值表示列出结果与搜索结果的相关性,该值越高排序位置越靠前,es具体是如何计算该值的,我们认真来看看. 1.根据字段值排序 比如我们要查询/index5下subject.subject-name匹配关键字"computer"的内容,并且根据subject.id字段做倒序排序 其实这个查询相当于关系型数据库查询:select * from index5 where subject.subject-name like '%computer%' or…
ElasticSearch排序Java api简单Demo
代码: String time1 = ConstValue.GetCurrentDate(); SortBuilder sortBuilder = SortBuilders.fieldSort("tfp_save_time") .order(SortOrder.DESC).ignoreUnmapped(true); SearchResponse scrollResp = client .prepareSearch("flume-" + time1 + "-…
亿级规模的Elasticsearch优化实战
Elasticsearch 的基本信息大致如图所示,这里就不具体介绍了. 本次分享主要包含两个方面的实战经验:索引性能和查询性能. 一. 索引性能(Index Performance) 首先要考虑的是,索引性能是否有必要做优化? 索引速度提高与否?主要是看瓶颈在什么地方,若是 Read DB(产生DOC)的速度比较慢,那瓶颈不在 ElasticSearch 时,优化就没那么大的动力.实际上 Elasticsearch 的索引速度还是非常快的. 我们有一次遇到 Elasticsearch 升级后索…
Kibana管理
这里是用来管理您的 kibana 运行时配置的地方,包括初始化配置和后续的索引模式配置.高级设置等.您可以调整 kibana 自身的行为,也可以编辑您通过 kibana 保存的查询.视图.仪表板等各种 "对象" . 这部分功能是通过插件实现的,所以除了开箱即用的功能外,诸如 X-Pack 之类的扩展也可以为 Kibana 增加额外的管理能力. 索引模式 索引模式 要使用Kibana,您需要通过配置一个或多个索引模式来告诉它您想探索的 Elasticsearch 索引.您也可以: 通过对…
ElasticSearch(7)-排序
引用自ElaticSearch权威指南 一.排序 相关性排序 默认情况下,结果集会按照相关性进行排序 -- 相关性越高,排名越靠前. 这一章我们会讲述相关性是什么以及它是如何计算的. 在此之前,我们先看一下sort参数的使用方法. 排序方式 为了使结果可以按照相关性进行排序,我们需要一个相关性的值.在ElasticSearch的查询结果中, 相关性分值会用_score字段来给出一个浮点型的数值,所以默认情况下,结果集以_score进行倒序排列. 有时,即便如此,你还是没有一个有意义的相关性分值.…
Elasticsearch高级搜索排序( 中文+拼音+首字母+简繁转换+特殊符号过滤)
一.先摆需求: 1.中文搜索.英文搜索.中英混搜 如:"南京东路","cafe 南京东路店" 2.全拼搜索.首字母搜索.中文+全拼.中文+首字母混搜 如:"nanjingdonglu","njdl","南京donglu","南京dl","nang南东路","njd路"等等组合 3.简繁搜索.特殊符号过滤搜索 如:"龍馬&quo…
ElasticSearch 学习记录之ES查询添加排序字段和使用missing或existing字段查询
ES添加排序 在默认的情况下,ES 是根据文档的得分score来进行文档额排序的.但是自己可以根据自己的针对一些字段进行排序.就像下面的查询脚本一样.下面的这个查询是根据productid这个值进行排序的,而且进行了双字段的排序.当productid 相同时的文档是根据下面的那个排序字段进行的排序 POST /product/_search { "query": { "bool": { "filter": { "term":…
ElasticSearch 评分排序
背景 通过脚本改变评分 背景 近期有一个需求,需要对优惠券可用商品列表加个排序,只针对面值类的券不包括折扣券. 需求是这样的,假设有一张面值券 50 块钱,可用商品列表 A 100.B 40.C 10,当用户查询当前券可用商品列表的时候优先将卡券可以直接抵扣且不需要用户在额外支付的商品排在前面. C 10 B 40 A 100 其实排序有很多侧重,比如: 1.根据用户利益最大化原则,排序列表应该是 B.C.A 2.根据用户购买习惯,有可能是 A.B.C 3.根据运营策略.第三方利益等有可能是C.…