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

陇西网站建设 室内设计wordpress留言插件

陇西网站建设 室内设计,wordpress留言插件,上海个体工商户如何注册,做的烂的网站文章目录00. 数据准备01. Elasticsearch 默认的排序方式是什么#xff1f;02. Elasticsearch 支持哪些排序方式#xff1f;03. ElasticSearch 如何指定排序方式#xff1f;04. ElasticSearch 如何按照相关性排序#xff1f;05. ElasticSearch 查询结果如何不按照相关性排序… 文章目录00. 数据准备01. Elasticsearch 默认的排序方式是什么02. Elasticsearch 支持哪些排序方式03. ElasticSearch 如何指定排序方式04. ElasticSearch 如何按照相关性排序05. ElasticSearch 查询结果如何不按照相关性排序06. ElasticSearch 如何按照字段的值排序07. ElasticSearch 排序字段的类型08. ElasticSearch 如何对文本类型的字段进行排序09. ElasticSearch 如何按照多个字段排序10. EalsticSearch 如何实现分页排序11. SpringBoot整合ES实现按相关度排序12. SpringBoot整合ES实现按字段值排序13. SpringBoot整合ES实现按文本类型字段排序14. SpringBoot整合ES实现按多字段值排序00. 数据准备 PUT /my_index/_doc/1 {title: 金都时尚情侣浪漫主题酒店,content: 青岛,price: 556 }PUT /my_index/_doc/2 {title: 金都嘉怡假日酒店,content: 北京,price: 337 }PUT /my_index/_doc/3 {title: 金都欣欣24小时酒店,content: 天津,price: 200 }PUT /my_index/_doc/4 {title: 金都自如酒店,content: 上海,price: 300 }01. Elasticsearch 默认的排序方式是什么 ElasticSearch 默认的排序方式是相关性排序。相关性排序是根据查询条件与文档的匹配程度来计算每个文档的相关性得分然后按照得分从高到低进行排序。相关性排序是 ElasticSearch 中最常用的排序方式因为它可以根据查询条件与文档的匹配程度来确定文档的排序位置从而提高查询结果的准确性。 在相关性排序中ElasticSearch 使用一种称为 TF-IDF 的算法来计算每个查询条件与文档的匹配程度。TF-IDF 算法可以有效地确定查询条件与文档的匹配程度从而计算出每个文档的相关性得分。具体来说TF-IDF 算法会根据查询条件中每个词的词频TF和文档集合中包含该词的文档数的倒数IDF来计算每个查询条件与文档的匹配程度然后将所有查询条件的匹配程度加权求和得到文档的相关性得分。 需要注意的是相关性排序并不一定是最优的排序方式因为它只考虑了查询条件与文档的匹配程度而没有考虑其他因素例如文档的时间戳、文档的重要性等。在某些情况下其他排序方式可能更适合。在这种情况下可以通过在查询语句中指定排序方式来实现其他排序方式。 在 Elasticsearch 中 相关性得分由一个浮点数进行表示并在搜索结果中通过 _score 参数返回 默认排序是 _score 降序 POST /my_index/_search {query: {match: {title: 金都酒店}} }{took : 2,timed_out : false,_shards : {total : 1,successful : 1,skipped : 0,failed : 0},hits : {total : {value : 4,relation : eq},max_score : 0.48362204,hits : [{_index : my_index,_type : _doc,_id : 4,_score : 0.48362204,_source : {title : 金都自如酒店,content : 上海,price : 300}},{_index : my_index,_type : _doc,_id : 2,_score : 0.4367569,_source : {title : 金都嘉怡假日酒店,content : 北京,price : 337}},{_index : my_index,_type : _doc,_id : 3,_score : 0.41657305,_source : {title : 金都欣欣24小时酒店,content : 天津,price : 200}},{_index : my_index,_type : _doc,_id : 1,_score : 0.36585158,_source : {title : 金都时尚情侣浪漫主题酒店,content : 青岛,price : 556}}]} }02. Elasticsearch 支持哪些排序方式 Elasticsearch 支持多种排序方式包括按照相关度得分排序、按照字段值排序、按照多个字段排序等。 03. ElasticSearch 如何指定排序方式 可以在查询语句中使用 “sort” 参数来指定排序方式可以指定排序字段、排序方式等。 04. ElasticSearch 如何按照相关性排序 默认情况下Elasticsearch 会根据文档与查询的相关度得分进行排序得分越高的文档排在越前面。 {query: {match: {title: 金都酒店}},sort: [{_score: {order: desc}}] }{took : 4,timed_out : false,_shards : {total : 1,successful : 1,skipped : 0,failed : 0},hits : {total : {value : 4,relation : eq},max_score : 0.48362204,hits : [{_index : my_index,_type : _doc,_id : 4,_score : 0.48362204,_source : {title : 金都自如酒店,content : 上海,price : 300}},{_index : my_index,_type : _doc,_id : 2,_score : 0.4367569,_source : {title : 金都嘉怡假日酒店,content : 北京,price : 337}},{_index : my_index,_type : _doc,_id : 3,_score : 0.41657305,_source : {title : 金都欣欣24小时酒店,content : 天津,price : 200}},{_index : my_index,_type : _doc,_id : 1,_score : 0.36585158,_source : {title : 金都时尚情侣浪漫主题酒店,content : 青岛,price : 556}}]} }05. ElasticSearch 查询结果如何不按照相关性排序 Elasticsearch的过滤器(Filter)不会计算相关性得分它们只是根据指定的条件来过滤文档而不会影响文档的相关性得分。相比之下查询(Query)会计算相关性得分它们会根据查询条件来计算文档的相关性得分并将得分作为文档的排序依据。因此如果您需要根据相关性对文档进行排序应该使用查询(Query)而不是过滤器(Filter)。 Elasticsearch的过滤器(Filter)可以用来过滤文档以便于在查询时只返回符合条件的文档。以下是使用过滤器的一些常见方法 使用布尔过滤器(Boolean Filter)布尔过滤器可以将多个过滤器组合起来以实现复杂的过滤逻辑。例如可以使用must、should、must_not等关键字来组合多个过滤器。 使用范围过滤器(Range Filter)范围过滤器可以根据指定的范围来过滤文档。例如可以使用range关键字来指定字段的范围。 使用存在过滤器(Exists Filter)存在过滤器可以过滤出指定字段存在或不存在的文档。例如可以使用exists关键字来指定字段是否存在。 使用缓存过滤器(Cache Filter)缓存过滤器可以将过滤结果缓存起来以提高查询性能。例如可以使用cache关键字来指定是否缓存过滤结果。 GET /my_index/_search {query: {bool: {should: [{term: {price: 300}}]}} }06. ElasticSearch 如何按照字段的值排序 Elasticsearch可以按照字段的值进行排序可以使用sort参数来指定排序方式。 GET /my_index/_search {query: {match_all: {}},sort: [{price: {order: asc}}] }{took : 17,timed_out : false,_shards : {total : 1,successful : 1,skipped : 0,failed : 0},hits : {total : {value : 4,relation : eq},max_score : null,hits : [{_index : my_index,_type : _doc,_id : 3,_score : null,_source : {title : 金都欣欣24小时酒店,content : 天津,price : 200},sort : [200]},{_index : my_index,_type : _doc,_id : 4,_score : null,_source : {title : 金都自如酒店,content : 上海,price : 300},sort : [300]},{_index : my_index,_type : _doc,_id : 2,_score : null,_source : {title : 金都嘉怡假日酒店,content : 北京,price : 337},sort : [337]},{_index : my_index,_type : _doc,_id : 1,_score : null,_source : {title : 金都时尚情侣浪漫主题酒店,content : 青岛,price : 556},sort : [556]}]} }07. ElasticSearch 排序字段的类型 在Elasticsearch中排序字段的类型非常重要因为不同类型的字段可能会导致排序结果不同。以下是一些常见的排序字段类型及其特点 文本类型text文本类型的字段通常用于全文搜索它们会被分词器处理成多个词条因此在排序时可能会出现意外的结果。如果要按照文本类型的字段进行排序通常需要使用keyword类型的子字段或者使用fielddata特性来将文本类型的字段转换为可排序的类型ES新版本不支持了。 数字类型numeric数字类型的字段通常用于存储数字它们可以按照数值大小进行排序。在Elasticsearch中数字类型的字段包括整数类型integer、long、short、byte和浮点数类型float、double。如果要按照数字类型的字段进行排序通常不需要进行额外的配置。 日期类型date日期类型的字段通常用于存储日期和时间它们可以按照时间顺序进行排序。在Elasticsearch中日期类型的字段可以使用多种格式进行存储例如ISO-8601格式、UNIX时间戳等。如果要按照日期类型的字段进行排序通常需要使用日期格式化字符串来指定日期格式。 需要注意的是如果要按照非文本类型的字段进行排序需要将字段的类型设置为相应的数据类型否则可能会出现排序错误的情况。同时如果要按照文本类型的字段进行排序需要使用keyword类型的子字段或者使用fielddata特性来进行排序。 08. ElasticSearch 如何对文本类型的字段进行排序 可以使用keyword类型的字段进行排序查看索引的字段映射类型 GET /my_index/_mapping{my_index : {mappings : {properties : {content : {type : text,fields : {keyword : {type : keyword,ignore_above : 256}}},price : {type : long},title : {type : text,fields : {keyword : {type : keyword,ignore_above : 256}}}}}} }字段 title 和 content 都是keyword类型因此可以排序 GET /my_index/_search {query: {match_all: {}},sort: [{title.keyword: {order: asc}}] }{took : 3,timed_out : false,_shards : {total : 1,successful : 1,skipped : 0,failed : 0},hits : {total : {value : 4,relation : eq},max_score : null,hits : [{_index : my_index,_type : _doc,_id : 2,_score : null,_source : {title : 金都嘉怡假日酒店,content : 北京,price : 337},sort : [金都嘉怡假日酒店]},{_index : my_index,_type : _doc,_id : 1,_score : null,_source : {title : 金都时尚情侣浪漫主题酒店,content : 青岛,price : 556},sort : [金都时尚情侣浪漫主题酒店]},{_index : my_index,_type : _doc,_id : 3,_score : null,_source : {title : 金都欣欣24小时酒店,content : 天津,price : 200},sort : [金都欣欣24小时酒店]},{_index : my_index,_type : _doc,_id : 4,_score : null,_source : {title : 金都自如酒店,content : 上海,price : 300},sort : [金都自如酒店]}]} }09. ElasticSearch 如何按照多个字段排序 可以在 “sort” 参数中指定多个排序字段可以指定每个字段的排序方式。 GET /my_index/_search {query: {match_all: {}},sort: [{title.keyword: {order: asc}},{price: {order: desc}}] }我们使用 sort 参数指定按照 title 字段进行升序排序如果 title 字段相同则按照 price 字段进行降序排序。 10. EalsticSearch 如何实现分页排序 可以使用 “from” 和 “size” 参数来实现分页可以使用 “sort” 参数来指定排序方式。 11. SpringBoot整合ES实现按相关度排序 {query: {match: {title: 金都酒店}},sort: [{_score: {order: desc}}] }Slf4j Service public class ElasticSearchImpl {Autowiredprivate RestHighLevelClient restHighLevelClient;public void searchUser() throws IOException {SearchSourceBuilder searchSourceBuilder new SearchSourceBuilder();// query 查询MatchQueryBuilder matchQueryBuilder new MatchQueryBuilder(title,金都酒店);searchSourceBuilder.query(matchQueryBuilder);// 设置排序字段searchSourceBuilder.sort(SortBuilders.scoreSort().order(SortOrder.DESC));SearchRequest searchRequest new SearchRequest(new String[]{my_index},searchSourceBuilder);SearchResponse searchResponse restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);System.out.println(searchResponse);} }12. SpringBoot整合ES实现按字段值排序 GET /my_index/_search {query: {match_all: {}},sort: [{price: {order: asc}}] }Slf4j Service public class ElasticSearchImpl {Autowiredprivate RestHighLevelClient restHighLevelClient;public void searchUser() throws IOException {SearchSourceBuilder searchSourceBuilder new SearchSourceBuilder();// query 查询MatchQueryBuilder matchQueryBuilder new MatchQueryBuilder(title,金都酒店);searchSourceBuilder.query(matchQueryBuilder);// 设置排序字段searchSourceBuilder.sort(SortBuilders.fieldSort(price).order(SortOrder.ASC));SearchRequest searchRequest new SearchRequest(new String[]{my_index},searchSourceBuilder);SearchResponse searchResponse restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);System.out.println(searchResponse);} }13. SpringBoot整合ES实现按文本类型字段排序 GET /my_index/_search {query: {match_all: {}},sort: [{title.keyword: {order: asc}}] }Slf4j Service public class ElasticSearchImpl {Autowiredprivate RestHighLevelClient restHighLevelClient;public void searchUser() throws IOException {SearchSourceBuilder searchSourceBuilder new SearchSourceBuilder();// query 查询MatchQueryBuilder matchQueryBuilder new MatchQueryBuilder(title,金都酒店);searchSourceBuilder.query(matchQueryBuilder);// 设置排序字段searchSourceBuilder.sort(SortBuilders.fieldSort(title.keyword).order(SortOrder.ASC));SearchRequest searchRequest new SearchRequest(new String[]{my_index},searchSourceBuilder);SearchResponse searchResponse restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);System.out.println(searchResponse);} }我们使用SortBuilders.fieldSort方法来构建排序条件其中name.keyword表示要排序的字段.keyword表示要使用keyword类型的子字段进行排序SortOrder.ASC表示升序排序。 14. SpringBoot整合ES实现按多字段值排序 GET /my_index/_search {query: {match_all: {}},sort: [{title.keyword: {order: asc}},{price: {order: desc}}] }Slf4j Service public class ElasticSearchImpl {Autowiredprivate RestHighLevelClient restHighLevelClient;public void searchUser() throws IOException {SearchSourceBuilder searchSourceBuilder new SearchSourceBuilder();// query 查询MatchQueryBuilder matchQueryBuilder new MatchQueryBuilder(title,金都酒店);searchSourceBuilder.query(matchQueryBuilder);// 设置排序字段searchSourceBuilder.sort(SortBuilders.fieldSort(title.keyword).order(SortOrder.ASC)).sort(SortBuilders.fieldSort(price).order(SortOrder.DESC));SearchRequest searchRequest new SearchRequest(new String[]{my_index},searchSourceBuilder);SearchResponse searchResponse restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);System.out.println(searchResponse);} }
http://www.w-s-a.com/news/986767/

相关文章:

  • 网站怎么做现场直播视频成都科技网站建设找
  • 个人网页设计步骤网站没有内容 能做优化吗
  • 专业网站建设公司招聘网站排行榜
  • 网站建设规范方法企业解决方案架构
  • ae做网站导航wordpress门户
  • 重庆市网站备案材料云南做网站
  • 网页设计模板网站免费珠海视窗网
  • 茂名模板建站定制WordPress注册不提示
  • 陕西营销型手机网站建设深圳制作网站服务
  • 受欢迎的锦州网站建设Wordpress 图片左右滑动
  • 湖南优化网站建设线上网站建设需求
  • 建什么类型的网站访问量比较大哪些外包公司比较好
  • php网站地图外贸建站哪家强外贸网站怎么做
  • 宁波五金网站建设中国建筑网官网投诉查询
  • 哪个网站注册域名便宜免费流程图制作网站
  • 潍坊做网站南宁网站seo优化公司
  • 网站建设的基本技术步骤无网站营销
  • 我国旅游网站的建设网站开发 混合式 数据库
  • 淘宝客网站域名家居网站开发项目计划书
  • 网站打不开显示asp苏州注册公司需要多少钱
  • 凡科建站登录官网wordpress主题有什么用
  • 西安双语网站建设怎么做网页动图
  • 宝安自适应网站建设无锡新区企业网站推广
  • 肇庆建设局网站cpanel 安装wordpress
  • 长春启做网站多少怎样换wordpress域名
  • 山西网站建设情况汇总vs2010 c 建设网站
  • 网站推广策划书 精品深圳市住建局和建设局官网
  • 住房和城乡建设部干部学院网站一般做公司网站需要哪几点
  • 网站制作流程详解(学做网站第一步)免费个人网站模版ps
  • 狮山网站建设公司微信平台软件开发