当前位置: 首页 > news >正文

秦皇岛建设路小学网站宁波公司做网站

秦皇岛建设路小学网站,宁波公司做网站,如何建一个免费网站,有关网站建设合同一 背景 要求es查询的结果按关键字位置排序#xff0c;位置越靠前优先级越高。 es版本7.14.0#xff0c;项目是thrift#xff0c;也可以平替springboot#xff0c;使用easyes连接es。 二 easyes使用 配easyes按官方文档就差不多了 排序 | Easy-Es 主要的一个问题是easy…一 背景 要求es查询的结果按关键字位置排序位置越靠前优先级越高。 es版本7.14.0项目是thrift也可以平替springboot使用easyes连接es。 二 easyes使用 配easyes按官方文档就差不多了 排序 | Easy-Es 主要的一个问题是easyes有与mybatis相同的一套mapper如果项目也用了mybatis那需要将mybatis、easyes的mapper分成两个目录 见避坑指南 | Easy-Es 还有实体类的主键按ee官方推荐是留个没注解的id自动生成id而不是指定自己生成的主键因为会影响数据储存的分区导致查询效率降低 具体查询config、mapper、实体类略 // 查询构造LambdaEsQueryWrapperEsSearchDocument listWrapper new LambdaEsQueryWrapper(); // 查询条件相等listWrapper.eq(EsSearchDocument::getType, searchType); // 查询条件模糊与上条是and关系listWrapper.like(EsSearchDocument::getTitle, searchContent); // 分页偏移量计算int offset ((pageNum ! null ? Integer.parseInt(pageNum) : 1) - 1) * size; //查询总条数Long count esMapper.selectCount(listWrapper); // 设置分页listWrapper.limit(offset, size); // 分页 // 查询结果列表ListEsSearchDocument esList esMapper.selectList(listWrapper);//打印System.out.println(countcount);System.out.println(JSON.toJSONString(esList)); 三 自定义排序 es官方排序是按重复次数、内容长度、权重之类用一个啥公式算出来分数排的 大学也许还能看懂点现在是完全不懂了 easyes也提供了按字段排序之类见上面官方文档链接 回到问题es、ee都没有按关键字位置排序的。不过es、ee还提供了自定义脚本 painless可以自己写处理方式。那就好说了在脚本里获得字段原文indexof拿到关键字所在位置根据这个值排序。 大部分网上的文档这么写包括文心一言 可以看到取原文的写法是 doc[字段.keyword].value 经过实测会报错 1 字段.keyword 不存在。去掉.keyword能取到但取得是内容片段比如原文“金坷垃好处都有啥”这个word/words值是“都有啥”。 2  text类型字段不能拆出来排序否则报错 Text fields are not optimised for operations that require per-document field data like aggregations  意思就是text类型字段被es禁用了聚合、排序操作要么加注解fielddatatrue才能解锁要么改成keyword类型。但加注解会影响效率有多影响待观察。 这个字段是用了ik分词器的去掉分词器后谨慎改变实体类每次改变都会试es数据清空word值成了“啥” 到这里已经一整天过去了 然后翻阅es的官方文档终于发现这么一句 Field context | Painless Scripting Language [7.14] | Elastic 意思是 doc[字段]写法不适用于text类型字段。想取到原值可以 params[_source][字段] 试了下还真可以。 param是可以传动态参数的使脚本避免反复编译提高效率。另外doc、_source、ctx是结合上下文在不同场景用的比如doc是_search查询用的但这个问题的查询就用了_source不能太死板 探究 | Elasticsearch Painless 脚本 ctx、doc、_source 的区别是什么-腾讯云开发者社区-腾讯云 最后加了这么一段 // 定义脚本String painlessScriptStr String word params[_source][title]; int position (word ! null !.equals(word)) ? word.indexOf(params[searchContent]) : -1; return position; ;// 自定义评分规则Script script new Script(ScriptType.INLINE, painless, painlessScriptStr, Collections.singletonMap(searchContent, searchContent));ScriptSortBuilder ssb new ScriptSortBuilder(script, ScriptSortBuilder.ScriptSortType.NUMBER).order(SortOrder.ASC);listWrapper.sort(ssb);
http://www.hkea.cn/news/14423099/

相关文章:

  • 免费网站域名注册珠海正规网站制作系统
  • 手机版网站模板 免费怎么在网上做广告宣传
  • 网站建设市场数据分析哪里有网站建设的文章
  • 湖南网站制作流程网站栏目和版块的设计心得
  • 免费免费建网站免费解析网站
  • 网站程序文件wordpress全站静态化
  • 苏州做网站公司 询苏州聚尚网络网站的困难
  • 百度 特定网站搜索seo值怎么提高
  • 江阴便宜做网站查互做蛋白的网站
  • 域名 不做网站wordpress如何添加分类目录
  • 建站公司 长沙和西安网页无法访问手机
  • 建网站要钱吗沈阳三好街网站建设
  • 微信订单网站模版微网站背景图片
  • 建立网站就是制作网页对吗建设网上商城网站
  • error 403 网站拒绝显示东莞关键词排名seo
  • 青海网站建设策划宁波开发投资有限公司
  • 网站建设教程网昆明seo外包
  • 用ftp改网站电话怎么内页底部的没有变无锡做网站seo的
  • 忆达城市建设游戏登录网站产品展示网站 模板
  • 企业网站建设综合实训心得体会一千字旅游网站设计页面
  • 上海网站建设 觉策动力wordpress主题dux
  • 杭州网站建设洛洛科技全网营销推广案例
  • 北京医疗网站建设公司怎么看网站用的什么cms
  • wordpress教程教程视频关键词是网站seo的核心工作
  • 汽车网站和移动端建设方案常州seo博客
  • 企业网站托管平台有哪些深圳做网站的网络公
  • 哪个网站做美食视频网站好wordpress目录地址
  • 上饶商城网站建设网站代码建设 实例
  • 济南外贸网站建站手机端网站排名
  • 陕西省住房建设厅网站北京公司建站模板