![](https://img-blog.csdnimg.cn/3ae05e60b7bf439680d6d3d25c3e2ca7.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Elasticsearch教程(New)
文章平均质量分 79
Elasticsearch教程(New)
瑟 王
失业中
展开
-
【Elasticsearch教程21】分页查询以及Array数组排序 nested排序 详细案例
默认情况下,ES搜索结果hits里有10条结果,我们可以使用from和size这2个参数实现分页查询原创 2022-09-20 16:28:07 · 3141 阅读 · 1 评论 -
【Elasticsearch教程20】Pinyin拼音分词器 以及多音字修改
人员通讯录,不确定人名具体是哪个汉字,只知道读音,可以输入汉字+全拼音、汉字+拼音首字母、拼音首字母等股票名称,炒股的人都知道,股票太多,记住所有股票code是不可能的,所以常用拼音首字母查股票。Medcl大佬为我们提供了Pinyin分词器,可以让我们非常方便的使用拼音搜索文档。作为大龄程序员,30多岁了,不需要涉及太多技术,得潜心专研一两个技术,并戒掉浮躁,在项目实践中打磨自己。原创 2022-09-20 11:48:24 · 3378 阅读 · 1 评论 -
【Elasticsearch教程19】IK分词器 ik_max_word、ik_smart
通过上表,可以看出在好处是保存文档时,已经索引尽可能多的词,而在搜索文档时,没有必要对搜索关键字拆分的很细,这样提高了查询的效率。安装IK分词器的教程网上太多了,我这里就不再赘述了。全民制作人,大家好,我是练习时长2年半的个人练习生亚瑟王,喜欢ES、钢琴、鼓励队友。分词器对中文不友好,会将中文分割成一个个汉字。IK分词器的作者对这个项目维护的比较积极,能紧跟ES的最新版本。这1个词条,直接拿"亚瑟王"去匹配文档,可以匹配成功。执行如下命令,看字符串是如何拆分后索引的。说明是"王"这个字匹配到文档的。原创 2022-09-16 18:33:42 · 3481 阅读 · 0 评论 -
【Elasticsearch教程18】Mapping字段类型之text 以及term、match和analyzer
Elasticsearch的text字段类型,适合全文搜索,term和match有很大区别,analyzer分析器只能在text类型上,可以配置自定义的分词器原创 2022-09-06 16:32:45 · 1603 阅读 · 0 评论 -
【Elasticsearch教程17】Mapping字段类型之token_count
token_count一般integer类型,并且是作为text类型的子字段,它接收字符串后,分析出这个字符串在分词后都多少个token原创 2022-09-02 14:59:32 · 575 阅读 · 0 评论 -
【Elasticsearch教程16】Mapping字段类型之join以及has_parent has_child查询
一个parent可以有多个child一个child只能有一个parent如果我们用关系型数据库(如MySQL),我们还是挺熟悉如何设计表的。一个主表,一个子表,两个表可以用join、left join、right join做关联查询。nested,子属于父的某一个nested字段里,子属于父的一部分,父和子在同一文档里。join,子和父在同一index里,但不在同一文档里,父和子都是独立的文档。join类型父子文档必须在同一分片上nested类型,之前的博客Mapping字段类型之nested。原创 2022-09-01 18:34:41 · 1578 阅读 · 0 评论 -
【Elasticsearch教程15】Mapping字段类型之search_as_you_type
search_as_you_type会自动对词拆分。那这里要求“建行”能匹配到"建设银行",而"中油"不能匹配到"中国石油",我个人认为可以用到同义词这个功能,把"建行"设置为"建设银行"的同义词。比如没有设置"中渔"为"中水渔业"的同义词,那么就不会根据"中渔"搜索到"中水渔业"。而对于股票名称查询可以参考我之前的博客。上查询时,关键词的前后顺序是不会变的。的结果很多,表格放不下,可以通过下面语句查看。字段类型确实方便,可以先看官网文档。...原创 2022-08-31 17:47:51 · 760 阅读 · 0 评论 -
【Elasticsearch教程14】Mapping字段类型之range
range字段类型表示一个字段的值是一个数值范围例如一个range类型的字段的值是[10, 20],用12来匹配该字段,则会命中该文档.range类型说明[-231, 231-1 ]long_range[-263, 263-1]单精度、符合IEEE 754标准的浮点数的范围双精度、符合IEEE 754标准的浮点数的范围date_range日期范围, 在es内部,日期以64位long类型表示的毫秒数存储ip_rangeIP范围, 支持IPv4和IPv6的范围。...原创 2022-08-31 17:20:55 · 605 阅读 · 0 评论 -
【Elasticsearch教程13】Mapping字段类型之nested
在上一篇博客Mapping字段类型之object中,已经验证了用object类型存放对象数组是不可取的,因为object会把多个对象进行扁平化存储。nested类型能够存放对象数组,每一个对象会单独存储,所以可以在nested类型上进行查询、聚合和排序等操作。然而nested一个文档最多有50个nested类型的字段一个文档所有nested类型的字段存储文档最大数量是10000条。...原创 2022-08-31 15:12:30 · 1398 阅读 · 0 评论 -
【Elasticsearch教程12】Mapping字段类型之object
在一个字段存储一个JSON对象,可以选择object类型,在一个字段存储多个JSON对象,可以选择nested类型原创 2022-08-31 05:18:28 · 1903 阅读 · 0 评论 -
【Elasticsearch教程11】Mapping字段类型之日期时间date date_nanos
JSON没有date类型,但我们可以把以下类型作为日期时间存入ES。类型说明字符串日期格式的字符串,如"2015-01-01"或"2015/01/01 12:10:30"长整型从开始纪元(1970-01-01 00:00:00 UTC)开始的毫秒数整型从开始纪元(1970-01-01 00:00:00 UTC)开始的秒数上面的UTC(Universal Time Coordinated) 叫做世界统一时间,中国大陆和 UTC 的时差是 + 8 ,也就是 UTC+8。在ES内部,时间以。...原创 2022-08-30 18:02:00 · 4696 阅读 · 1 评论 -
【Elasticsearch教程10】Mapping字段类型之数字Numbers
ES的数据类型有很多种,为了`提高性能`和`减少存储空间`,选择一个足够用的类型就OK了,没必要选择过长的类型。比如各地人口数量,一般用integer存储足够了,没有必要使用long类型。原创 2022-08-30 16:56:32 · 1029 阅读 · 0 评论 -
【Elasticsearch教程9】Mapping keyword的ignore_above
对于`keyword类型`, 可设置`ignore_above`限定字符长度。超过 `ignore_above` 的字符会被存储,但不会被倒排索引。比如`ignore_above=4`,”abc“,”abcd“,”abcde“都能存进ES,但是不能根据”abcde“检索到数据。......原创 2022-08-30 16:50:40 · 710 阅读 · 0 评论 -
【Elasticsearch教程8】Mapping字段类型之keyword
Elasticsearch keyword constant_keyword wildcard类型原创 2022-08-29 23:06:40 · 5105 阅读 · 0 评论 -
【Elasticsearch教程7】Mapping字段类型之boolean
boolean类型非常简单,它就接受真或假原创 2022-08-26 16:56:17 · 770 阅读 · 0 评论 -
【Elasticsearch教程6】Mapping字段类型之二进制binary
其实在ES中,能用到binary的场景很少,如果这二进制的值大小比较大,存ES中,会对ES的查询性能有很多的影响。原创 2022-08-26 16:19:40 · 1352 阅读 · 0 评论 -
【Elasticsearch教程5】Mapping 动态模板 Dynamic templates
动态模板(Dynamic templates)可以满足我们需求,在创建mapping时,先定义好规则,当新字段满足某条规则时,就会按照该规则的预先配置来创建字段。原创 2022-08-26 14:31:38 · 976 阅读 · 0 评论 -
【Elasticsearch教程4】Mapping 动态映射
在实际企业开发中,都会提前设置好mapping的,不会完全让ES自动设置字段类型的。但是掌握好动态字段映射还是很重要的,是学习mapping的前提条件。在字段类型比较确定时,可以先设置好mapping,再插入数据,有新字段时,先给mapping添加新的字段设置在字段的个数和类型都不确定时,可以使用mapping的动态模板,按照已经指定的规则设置它的类型。比如某个字段名为int_age,就让类型为integer,字段名为就设为float。好好学习,天天向上,下一篇博客会写mapping的动态模板的内容。原创 2022-08-25 13:02:59 · 1732 阅读 · 0 评论 -
【Elasticsearch教程3】查询文档 term terms terms_set
term查询判断某个字段是否包含一个确定的值。一般都是用在keyword、int,long、ip、date等类型上原创 2022-08-23 17:49:30 · 872 阅读 · 0 评论 -
【Elasticsearch教程2】 更新文档 painless script案例
是Elasticsearch的默认脚本语言,它具有像 Groovy 那样的语法。把需要更新的字段放到doc里面,已有的字段会更新,新的字段会添加进文档。再次查询id=1的文档发现age的值改变了,并且添加了新的字段word。当act数组中不存在“圣剑裁决”时,才添加“圣剑裁决”当act数组中存在“圣剑裁决”时,才删除“圣剑裁决”当id=2的文档不存在时,会创建该文档。当文档不存在时,更新会报错,可以设置。下面就先写些更新文档的例子,用。对数值类型进行数学计算。根据查询条件,将文档的。原创 2022-08-23 11:51:08 · 933 阅读 · 0 评论 -
【Elasticsearch教程1】 创建文档
当使用Spring Data Elasticsearch时,可以使用。ES创建文档可以通过如下4种API,它们看着类似,功能上少许不同。:数据流的情况比较复杂,学习先以索引为主,熟练后再考虑数据流场景。用POST插入一个文档,不指定ID,会给文档自动生成ID。运行结果如下,可看出新创建的文档的ID是自生成的一串乱码。在用ES原生Java API创建文档时,可以设置。,说明当id已经存在时,会返回错误。表示创建一个新的文档,如果指定的。运行结果如下,可看出文档被覆盖了。来指定是Create文档的操作。原创 2022-08-22 14:21:09 · 1548 阅读 · 0 评论