首页 > 其他分享 >elasticsearch知识点总结

elasticsearch知识点总结

时间:2024-03-05 20:01:04浏览次数:29  
标签:总结 知识点 搜图 可以 elasticsearch 向量 搜索 segment es

主要记录疑惑点和容易混淆的地方

type和fields区别

  • type是废弃功能,为了简化数据模型和提高性能,不再使用,底层的lucene无此概念。详见https://www.ddkk.com/zhuanlan/search/elasticsearch/1/12.html
  • fiels跟type不是一个维度的东西,fiels是字段(term)的属性,主要用来定义一个字段不同类型的搜索能力,比如可以把学校名称同时设置为text、keyword、numtest 3种类型,每种类型可以设置不同的分词器,这样在精确查询时可以使用keyword类型,搜索中文时使用text类型,搜索数字时使用特殊的分词器

doc_value

doc_value可以和倒排索引放一起理解,他是一种数据结构,按列存储,这样设计适合聚合、排序等操作。7版本中字段默认开启了,没开启并且没开fielddata,如果使用了聚合查询或者排序会报错。

segment

segment翻译为段,是lecene的核心概念,可以理解成搜索引擎的最小单位,因为每个segment都包含了一个倒排索引,搜索最终都是落到segment上,查询有相关索引的segment,然后对结果进行汇集。

refresh

指的是缓存刷新时间,可以理解为新增的数据要隔多久才能被搜索到。默认1s,每隔一秒把内存中的buffer(增删改)写入到文件系统的缓存并启用segment,当启用后表示数据可以被查到,在开启之前是搜索不到的,所以refresh可以控制搜索的实时性。

flush

写入文件系统的缓存中的segment,通过flush可以异步写入磁盘,进行持久化,es可以设置flush间隔

支持向量搜索

es8.x支持knn相似算法向量搜索,可以通过这个能力快速实现图搜图、文搜图功能。

  • 利用clip-ViT-B-32模型将图转为向量
  • 将向量存入es
  • 将查询的图转为向量通过es完成图搜图/es安装clip-ViT-B-32模型通过es内置方法完成文搜图

标签:总结,知识点,搜图,可以,elasticsearch,向量,搜索,segment,es
From: https://www.cnblogs.com/wish5714/p/18054784

相关文章

  • 每日总结
    Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection接口又有3种子类型,List、Set和Queue,再下面是一些抽象类,最后是具体实现类,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHash......
  • 2024.3.5总结
    今天学组合数学\(C(n,m)\)表示\(n\)个物品里面选\(m\)个的方案数\(C(n,m)=C(n-1,m)+C(n-1,m-1)=\frac{n!}{m!\times(n-m)!}\)第一题:前提条件是互质。F1:\(n^{-1}\equivn^{p-2}\pmodp\)F2:设\(a=\lfloorp/i\rfloor,b=p%i\)\[a\timesi+......
  • 2024.3.5总结
    CF1933F题目既然他要求出最少用时,考虑bfs思路1我们发现,我们不知道石头的位置,所以我们要记录时间\(\bmodn\)的值,\(O(N^3)\)暴力bfs思路2我们为了不记录时间这一维度,石头都是同时向上移动,可以看作是石头不动,机器人动之后不由自主地向下掉一格,终点也向下......
  • 代码随想录算法训练营第三十六天| ● 738.单调递增的数字 ● 968.监控二叉树 ● 总
    单调递增的数字 题目链接:738.单调递增的数字-力扣(LeetCode)思路:从左向右验证是否按位单调递增,如果出现递减的区间,则从该位开始验证该位减1后是否比左边的相邻位大,如果不符合就接着向左寻找这样的位,如果找到了,则将该位前面的位复制到结果中,该位减1加入结果,该位之后的位全部改......
  • 知识点
    知识点super()只能出现在构造方法的第一行,通过当前的构造方法去调用“父类”中的对应的构造方法,目的是:创建子类对象时,先初始化父类型特征。用通俗的话来讲,要想有儿子,得先有父亲。当子类的构造方法内第一行没有出现“super()”时,系统会默认给它加上无参数的"super()"方法。构造方法......
  • 动态代理总结
    代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能两者的区别静态代理在编译时就已经实现,编译完成后代理类是一个实际的class文件动态代理在运行时动态生成的,即编译......
  • 刷到好题来总结
    P2114[NOI2014]起床困难综合症分析这题是关于二进制的题目,题目中描述了大量位运算的知识,其实也是在暗示这题与位运算有关了。思考题目,题目要求我们在给定的值的范围内,进行一定数量的位运算,找到使最后运算得到的值最大的初始值。既然要运算值最大,那么就要思考在二进制中怎样......
  • 今日总结
    今天配置pom.xml<repositories><repository><id>aliyunmaven</id><url>http://maven.aliyun.com/nexus/content/groups/public/</url></repository><repository>......
  • Java知识点-笔记
    知识点集合实例变量实例变量是指在类中声明的变量,其值是针对类的每个实例而独立存储的。每个类的实例都有自己的一组实例变量,它们的值可以在对象创建时初始化,并在整个对象的生命周期中保持不变或者随着对象的状态而改变。实例变量也被称为对象变量,因为它们是在类的对象实例化时......
  • 知识点
    throws异常和throw的区别共同点两者在抛出异常时,抛出异常的方法并不负责处理,顾名思义,只管抛出,由调用者负责处理。区别(1)throws用于方法头,表示的只是异常的申明,而throw用于方法内部,抛出的是异常对象。(2)throws可以一次性抛出多个异常,而throw只能一个(3)throws抛出异常时,它的上级(调用者)......