ES 十月 12, 2021

分词器

文章字数 6k 阅读约需 5 mins.

分词之前的预处理,过滤无用字符

切词用

常见的分词器

  • standard analyzer:默认分词器,中文支持的不理想,会逐字拆分。
  • pattern tokenizer:以正则匹配分隔符,把文本拆...
查看全文

ES 十月 12, 2021

聚合查询

文章字数 2.8k 阅读约需 3 mins.

聚合(aggs)查询中,进行聚合的字段必须是exact value,分词字段不可进行聚合,对于text字段如果需要使用聚合,需要开启fielddata,但是通常不建议,因为fielddata是将聚合使用的数据结构由磁盘(doc_values)变为了堆内存(field_data),大数据的聚合操作很容易导致OOM,详细原理会在进阶篇中阐述。

三种聚合分类

  1. 分桶聚合(Bucket agregations):类比SQL中的group by的作用,主要用于统计不同类型数据的数量

    函数:terms

    注意...

查看全文

ES 十月 12, 2021

环境搭建

文章字数 5.2k 阅读约需 5 mins.

  1. 下载elasticsearch镜像

    docker pull elasticsearch:8.2.0
    
    root@空痕影的matebook:~# docker pull elasticsearch:8.2.0
    8.2.0: Pulling from library/elasticsearch
    e0b25ef51634: Pull complete
    860caabdf263: Pull complete
    9fbe6bc43ac5: Pull complete
    9d4f6737f430: Pull complete...
查看全文

ES 十月 12, 2021

mapping

文章字数 5.3k 阅读约需 5 mins.

​ mapping就是ES数据字段field的type元数据,ES在创建索引的时候,dynamic mapping会自动为不同的数据指定相应mapping,mapping中包含了字段的类型、搜索方式(exact value或者full text)、分词器等。

  1. 在dev tools中命令查询

    GET user/_mapping

  2. 在索引管理界面中查看

    stack management ->index mamagement ->(select table) ->mappings

    ...
查看全文

ES 十月 10, 2021

搜索与查询

文章字数 20k 阅读约需 18 mins.

查询示例

GET kibana_sample_data_ecommerce/_search
{
  "size": 1
}


{
  "took" : 0,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "...
查看全文
0%