ChihiroBlog

Elasticsearch学习记录(基本概念用法)

1.倒排索引

  • 概念
    对文档内容分词,对分词后的词条创建索引,并记录词条所在文档的id。查询时先根据词条查询到文档id,而后根据文档id查询文档。

  • 组成
    文档:每条数据就是一个文档(同时会像数据库一样为id建立索引)。
    词条:文档按照语义分成的词语。

  • 图示

    不仅会为文档的id建立索引,分词后,还会给词条建立索引。

  • 搜索方式

  • 对比正向索引
    正向索引基于文档id创建索引。根据id查询快,但是查询词条时必须先找到文档,而后判断是否包含词条。

2. 索引库基本概念

  • 图示

3.索引库操作

  • 创建索引库
    PUT /索引库名

  • 查询索引库
    GET /索引库名

  • 删除索引库
    DELETE /索引库名

  • 添加字段
    PUT /索引库名/_mapping

  • 注意
    ES不支持修改索引库,只能向索引库添加字段

4.文档操作

  • 创建文档
    POST /索引库名/_doc/文档id

  • 查询文档
    GET /索引库名/_doc/文档id

  • 删除文档
    DELETE /索引库名/_doc/文档id

  • 全量修改文档
    PUT /索引库名/_doc/文档id

    • 全量修改是先删除再新增
  • 增量修改文档
    POST /索引库名/_uodate/文档id {"doc":{字段}}

    • 增量修改是修改某个字段值
  • 批量删除
    POST /_bulk {"delete": {"_index":"mall", "_id": "3"}}{"delete": {"_index":"mall", "_id": "4"}}

  • 批量修改
    POST /_bulk{"update": {"_index":"mall", "_id": "4"}}{"doc": {"email": "Zhangsan@it163.cn"}}

  • 批量新增
    POST /_bulk {"index": {"_index":"mall", "_id": "3"}}{"info": "C++教学导师", "email": "ww@it163.cn", "name":{"firstName": "五", "lastName":"王"}} {"index": {"_index":"mall", "_id": "4"}}{"info": "Java教学导师", "email": "zhangsan@it163.cn", "name":{"firstName": "三", "lastName":"张"}}

posted on 2025-03-05 20:04  Chihirooo  阅读(18)  评论(0)    收藏  举报

导航