Elasticsearch如何排序,分页以及高亮查询

news/2024/9/27 23:18:26 标签: elasticsearch, 大数据, 搜索引擎

目录

一、排序

二、分页查询

三、高亮查询


一、排序

ES中默认使用相关度分数实现排序,可以通过搜索语法定制化排序。

GET /索引/_search
{ 
  "query": 搜索条件,
  "sort": [
       {
           "字段1":{
               "order":"asc"
           } 
       },
       { 
           "字段2":{ 
               "order":"desc" 
           } 
       }
   ] 
}

由于ES对text类型字段数据会做分词处理,使用哪一个单词做排序都是不合理的,所以 ES中默认不允许对text类型的字段做排序。如果需要使用字符串做结果排序,可以使用 keyword类型的字段作为排序依据,因为keyword字段不做分词处理。

二、分页查询

GET /索引/_search
{ 
    "query": 搜索条件,
    "from": 起始下标,
    "size": 查询记录数,一页多少条
}

三、高亮查询

在进行关键字搜索时,搜索出的内容中的关键字会显示不同的颜色,称之为高亮。

为什么在网页中关键字会显示不同的颜色,我们通过开发者工具查看网页源码:

我们可以在关键字左右加入标签字符串,数据传入前端即可完成高亮显示,ES可以对查询出的内容中关键字部分进行标签和样式的设置。

GET /索引/_search
{ 
    "query":搜索条件,
    "highlight":{
        "fields": { 
         "高亮显示的字段名": {
        // 返回高亮数据的最大长度
             "fragment_size":100,
                // 返回结果最多可以包含几段不连续的文字
             "number_of_fragments":5
         } 
     },
    "pre_tags":["前缀"], 
    "post_tags":["后缀"]
   } 
}

举例:

GET /students/_search
{
  "query": {
    "match": {
      "info":"成绩的"
    }
  },
  "highlight":{
        "fields": { 
           "info": { 
             "fragment_size":100,
             "number_of_fragments":5
         } 
        },
        "pre_tags":["<em>"], 
        "post_tags":["</em>"]
  }
}


http://www.niftyadmin.cn/n/5679799.html

相关文章

机器学习学习笔记-20240927

文章目录 一些简单的指令数据操作广播机制 标量&#xff0c;向量&#xff0c;矩阵的相互求导1. 标量对标量的求导2. 标量对向量的求导3. 向量对标量的求导4. 向量对向量的求导5. 矩阵对标量的求导6. 矩阵对向量的求导 链式求导法则YYDS求出损失函数偏导为0时的最优解w*1. 损失函…

Go语言Mutex的优化与TryLock机制解析

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 Go语言中的Mutex优化与goroutine调度机制 Go语言的开发团队于2011年6月30日对Mutex进行了重大调整,这次调整主要目的是优化并发场景下的锁竞争,尤其是在多goroutine争抢同一把锁时的处理。这次优化不仅改进了锁…

【如何学习操作系统】——学会学习的艺术

&#x1f41f;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢编程&#x1fab4; &#x1f421;&#x1f419;个人主页&#x1f947;&#xff1a;Aic山鱼 &#x1f420;WeChat&#xff1a;z7010cyy &#x1f988;系列专栏&#xff1a;&#x1f3de;️ 前端-JS基础专栏✨前…

得物App荣获国家级奖项,正品保障引领潮流电商新风尚

近日&#xff0c;在2024年中国国际服务贸易交易会上&#xff0c;得物App凭借其在科技创新保障品质消费领域的突出成果&#xff0c;再次荣获国家级殊荣——“科技创新服务示范案例”。这是继上海市质量金奖之后&#xff0c;得物App获得的又一个“高含金量”奖项。 作为深受年轻人…

建立分支提交代码

git分支 git branch 产看当前分支 git branch -a 查看所有分支 git checkout 分支名 切换分支 git checkout -b 分支名 建立分支&#xff08;仅仅是在本地建立了&#xff0c;并没有关联线上&#xff09; git push --set-upstream origin 分支名 把本地分支推到先线上 gti add …

Android (rust) vulkan (JNI) 画一个三角形: VulkanSurfaceView 初始化

上文说到, vulkan 作为一种 GPU 编程接口标准, 具有很好的跨平台能力. 并且在 wayland (GNU/Linux) 成功使用 vulkan 绘制了一个三角形. 今天, 我们同样使用 vulkano (rust), 在 Android (手机) 也画一个三角形吧 ~ 本文的解决方案主要参考了 stackoverflow 的一篇文章 (链接…

浙大数据结构:06-图3 六度空间

数据结构MOOC PTA习题 这道题一开始用dfs做得&#xff0c;发现测试点4过不去。经查证&#xff0c;是dfs需要剪枝和优化才行&#xff0c;如果暴力会超时&#xff0c;所以采用bfs来做。调了半天&#xff0c;最后参考了一下再修改才过的。 1、条件准备 n,m分别存储结点数和边数…

不同ip有什么区别

IP&#xff08;Internet Protocol&#xff0c;互联网协议&#xff09;地址是计算机网络中用于唯一标识设备的地址。根据其功能和特性&#xff0c;IP地址主要可以分为以下几类&#xff0c;下面将详细介绍它们之间的区别。 1. 静态IP与动态IP 静态IP地址&#xff1a;指分配给设备…