首页 > 其他分享 >59_初识搜索引擎_搜索相关参数梳理以及bouncing results问题解决方案

59_初识搜索引擎_搜索相关参数梳理以及bouncing results问题解决方案

时间:2024-10-02 13:01:56浏览次数:7  
标签:59 bouncing results shard 搜索 user 排序

1、preference

决定了哪些shard会被用来执行搜索操作

_primary, _primary_first, _local, _only_node:xyz, _prefer_node:xyz, _shards:2,3

bouncing results问题,两个document排序,field值相同;不同的shard上,可能排序不同;每次请求轮询打到不同的replica shard上;每次页面上看到的搜索结果的排序都不一样。这就是bouncing result,也就是跳跃的结果。

搜索的时候,是轮询将搜索请求发送到每一个replica shard(primary shard),但是在不同的shard上,可能document的排序不同

解决方案就是将preference设置为一个字符串,比如说user_id,让每个user每次搜索的时候,都使用同一个replica shard去执行,就不会看到bouncing results了

2、timeout,已经讲解过原理了,主要就是限定在一定时间内,将部分获取到的数据直接返回,避免查询耗时过长

3、routing,document文档路由,_id路由,routing=user_id,这样的话可以让同一个user对应的数据到一个shard上去

4、search_type

default:query_then_fetch
dfs_query_then_fetch,可以提升revelance sort精准度

标签:59,bouncing,results,shard,搜索,user,排序
From: https://www.cnblogs.com/siben/p/18444586

相关文章

  • mybatis xml里的 resultMap、resultOrdered、resultSets、resultSetType、resultType
    在MyBatis中,映射结果集是一项重要的功能,用于将数据库查询结果映射到Java对象中。为了实现这一功能,MyBatis提供了多个配置选项,如resultMap、resultOrdered、resultSets、resultSetType和resultType。以下是这些配置选项的详细解释及示例:1.resultTyperesultType是最简单的结......
  • 文心一言 VS 讯飞星火 VS chatgpt (359)-- 算法导论24.3 1题
    一、在图24-2上运行Dijkstra算法,第一次使用结点作为源结点,第二次使用结点作为源结点。以类似于图24-6的风格,给出每次while循环后的值和值,以及集合中的所有结点。如果要写代码,请用go语言。文心一言:在图24-2上运行Dijkstra算法,我们可以模拟算法的执行过程,并给出每次while循......
  • jsphealth59p27(程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发)环境带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题背景随着生活节奏的加快和社会压力的增加,健康问题日益成为人们关注的焦点。无论是学校、社会还是家庭,都越来越重视身体健康,定期体检已成为......
  • 鹏哥C语言59-60---三子棋游戏
    //------------------------------------------------------5. 数组实现(游戏)-----------------------------------------//----------------------------------------------------5.1利用数组实现三子棋----------------------------------------//分块 test.c  ......
  • 95th 2024/8/20 模拟赛总结59
    本次爆炸场,也是习惯了赛时:冲T3正解,但是pushdown......OUT!真的得细心,复制第一句时忘记修改第二句了,离谱的是小样例全过了还有pushdown的位置,应注意,防止在叶子节点爆4N空间,比赛时一开始打出了假的T3算法,也是因为当时想了想直接就开打了,没多过脑子,应该多想几下,不然没RP又打假......
  • java+springboot+mysql新闻信息检索系统59739-计算机毕业设计原创定制(赠源码)
                                           目 录摘要1绪论1.1选题背景1.2研究意义1.3系统开发技术的特色1.4springboot框架21.5论文结构与章节安排32 新闻信息检索系统分析......
  • springboot房屋租赁管理系统(11559)
     有需要的同学,源代码和配套文档领取,加文章最下方的名片哦一、项目演示项目演示视频二、资料介绍完整源代码(前后端源代码+SQL脚本)配套文档(LW+PPT+开题报告)远程调试控屏包运行三、技术介绍Java语言SSM框架SpringBoot框架Vue框架JSP页面Mysql数据库IDEA/Eclipse开发四、项......
  • 算法训练营第二天| 209.长度最小的子数组、59.螺旋矩阵II
    209.长度最小的子数组状态:没写出来->确认自己的想法是对的之后写出来了!!!初始思路:因为子数组是连续的,所以可以采用滑动窗口,我把这个窗口设置为左闭右闭,所以初始左右边界为0。之后先移动右指针,使得找到第一个和大于等于target的子数组,记录其长度,之后再移动左指针一位,再找第二个......
  • 8592 KMP算法
    首先,我们需要理解KMP算法的基本思想。KMP算法是一种改进的字符串匹配算法,它的主要思想是利用已经部分匹配的这个有效信息,使得后续的匹配中,尽量减少字符串的回溯,提高匹配效率。KMP算法的关键在于通过一个next数组,保存模式串中前后缀的最长的共有元素的长度。当模式串中的字符......
  • 代码随想录算法训练营第二天| 209.长度最小的子数组、59.螺旋矩阵II 、区间和、开发
    209.长度最小的子数组此题注重理解,同时我将res一开始初始化为sums的长度加一(因为不可能为此长度)INT32_MAX是一个常量,代表32位有符号整数的最大值classSolution{public:intminSubArrayLen(inttarget,vector<int>&nums){inti=0,j=0;//i为起始位置,j为......