当前位置: 首页 > article >正文

ES常用操作

本章将和大家分享 Elasticsearch 的一些基本操作。话不多说,下面我们直接进入主题。

1、索引库操作

1.1、settings属性

settings属性可以设置索引库的一些配置信息,例如:配置分片数和副本数、配置自定义分词器等。其中分片数量只能在一开始创建索引库的时候指定,后期不能修改。副本数量可以随时修改。

1.2、mapping属性

mapping属性是对索引库中文档的约束,常见的mapping属性包括:

1)type:字段数据类型,常见的数据类型在上一章已经介绍过了,此处就不再做过多的描述了。

2)index:是否需要创建倒排索引,默认值为true,如果设置为false那么表明该字段不能被检索,不构建倒排索引。因此,需要根据具体的业务判断该字段将来是否需要参与检索,如果需要的话就设置为true,否则就设置为false。

3)analyzer:使用哪种分词器,一般结合text(可分词的文本)数据类型一起使用。

4)properties:该字段的子字段。

3、创建索引库

ES中通过Restful请求操作索引库、文档。请求内容用DSL语句来表示。创建索引库和mapping的DSL语法如下:

PUT /索引库名称
{
  "mappings": {
    "properties": {
      "字段名":{
        "type": "text", //分词
        "analyzer": "ik_smart" //指定分词器
      },
      "字段名2":{
        "type": "keyword", //不分词
        "index": "false" //不创建倒排索引,不参与搜索
      },
      "字段名3":{
        "type": "object", //对象类型
        "properties": {
          "子字段": {
            "type": "keyword"
          }
        }
      },
      // ...略
    }
  }
}
# 创建索引库
PUT /my_index
{
  "mappings": { 
    "properties": {
      "info":{
        "type": "text",
        "analyzer": "ik_smart"
      },
      "email":{
        "type": "keyword",
        "index": false
      },
      "name":{
        "type": "object", 
        "properties": {
          "firstName":{
            "type":"keyword"
          },
          "lastName":{
            "type":"keyword"
          }
        }
      }
    }
  }
}

运行结果如下所示:

{
  "acknowledged" : true,
  "shards_acknowledged" : true,
  "index" : "my_index"
}


http://www.kler.cn/news/283897.html

相关文章:

  • C++标准 alignas 与 windows 封装指令 (pack pragma) 的区别
  • 物联网架构之HBase
  • AI加持的开发平台,如何满足您的独一无二?
  • 智能合约开发与测试1
  • [LLM][Prompt Engineering]:大语言模型提示工程(Prompt Engineering)
  • Navicat Lite导入为SQL,然后到服务器的SQLServer Management 里执行时,报各种错误,是文件的Encoding不一致导致的解决
  • 科讯档案管理系统存在SQL注入漏洞(0day)
  • 聚类算法k-means(手撕和调用skl)
  • Python编码系列—Python项目架构的艺术:最佳实践与实战应用
  • 【数据结构】关于哈希表内部原理,你到底了解多少???(超详解)
  • 自动化01:认识接线端子
  • vue脚手架的创建
  • 基于多条件复杂查询的JSON指令搜索与排序算法设计
  • -[meetingbot4ios.AppDelegate window]: unrecognized selector sent to instance
  • 黑屏环境下,如何利用OBD部署OceanBase企业版集群
  • Web3开发与安全:6个月高效学习路径
  • Python从入门到进阶教程文章分享汇总~持续更新
  • 缓存:浅谈双写导致的数据一致性问题
  • 【2024 CCF编程能力等级认证(GESP)Python 】一级大纲
  • 桥接与NET
  • AI-Talk开发板硬件适配
  • 改造小蚁摄像头支持免费无限容量云储存(Samba挂载篇)
  • 零基础入门转录组数据分析——基因Wilcoxon秩和检验
  • python进阶篇-day02-面向对象高级
  • DIFFUSION 系列笔记| Latent Diffusion Model、Stable Diffusion基础概念、数学原理、代码分析、案例展示
  • 【node.js】基础之修改文件
  • APP渠道来源方案探索
  • 第22周:调用Gensim库训练Word2Vec模型
  • 使用对象池优化 C++ 程序性能的实用指南
  • 传输层协议-UDP数据报