河北省建设厅网站查询,自己在家怎么做跨境电商,专业网站设计学校,家电网站策划前言服务器#xff1a;CentOS-6.7 运行系统#xff1a;windows10 JDK版本#xff1a;1.8 Elasticsearch版本#xff1a;5.6.6 插件#xff1a;kibana、elasticsearch-head 工具#xff1a;postman 一、集群查看集群是否健康 GET /_cluster/health二、节点查看节点列表后面… 前言服务器CentOS-6.7 运行系统windows10 JDK版本1.8 Elasticsearch版本5.6.6 插件kibana、elasticsearch-head 工具postman 一、集群查看集群是否健康 GET /_cluster/health二、节点查看节点列表后面加了 ?v 可以把表头给显示出来 GET /_cat/nodes?v 三、索引1 查询索引1.1 查询所有索引GET /_cat/indices?v1.2 查询单个索引的映射GET /test_index/_mapping2. 添加一个索引通过mappingPUT /people{ settings: { number_of_shards: 3, number_of_replicas: 1 }, mappings: { man: { dynamic: strict, properties: { name: { type: text }, age: { type: integer }, birthday: { type: date, format: yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis }, address:{ dynamic: true, type: object } } } }}dynamic: strict 表示如果遇到陌生field会报错 dynamic: true 表示如果遇到陌生字段就进行dynamic mapping dynamic: false 表示如果遇到陌生字段就忽略 3. 删除索引3.1 删除一个索引DELETE /people3.2 删除多个索引DELETE /index_one,index_two4. 添加字段映射PUT /people/_mapping/man{ properties: { tags:{ type: text } }}5. 索引的别名5.1 创建索引的别名 PUT /test_index/_alias/test5.2 查询索引的别名 GET /test_index/_alias/*5.3 查询别名指向哪一个索引 GET /*/_alias/test四、文档1. 增加文档1.1 自定义ID可以自动创建索引、类型自己定义一个id PUT /people/man/1{ name: 叶良辰, country: china, age: 25, birthday: 1993-01-01, desc: 叶良辰本地人狂妄自大惹了他会有一百种方法让你呆不下去与赵日天是好基友两个人风风火火闯九州}1.2 随机生成ID可以自动创建索引、类型自动创建一个id POST /people/man{ name: 叶良辰, country: china, age: 25, birthday: 1993-01-01, desc: 叶良辰本地人狂妄自大惹了他会有一百种方法让你待不下去与赵日天是好基友两个人风风火火闯九州}2. 修改文档2.1全文修改全文修改使用的是PUT命令把所有字段都带上 PUT /people/man/1{ name: 叶良辰, country: china, age: 25, birthday: 1993-01-01, desc: 叶良辰本地人狂妄自大惹了他会有一百种方法让你呆不下去与赵日天是好基友两个人风风火火闯九州}2.2部分修改partial update使用POST命令里面使用doc修改某个字段值 POST /people/man/1/_update{ doc: { name: zhangsan }}2.3 通过脚本直接修改POST /people/man/1/_update{ script: ctx._source.age 10}或者 POST /people/man/1/_update{ script: { lang: painless, source: ctx._source.age 10 }}2.4 通过脚本的参数方式POST /people/man/1/_update{ script: { lang: painless, source: ctx._source.age params.age, params: { age: 100 } }}2.5 通过groovy脚本文件方式首先在%ES_HOME%/config/scripts文件夹下面新建一个groovy文件取名add-age.groovy 编辑文件添加下列内容 ctx._source.age param.num 执行下面的命令 POST /people/man/1/_update{ script: { lang: groovy, file: add-age, params: { num: 15 } }}2.6 文档不存在时的修改(upsert)在修改document的时候如果该文档不存在则使用upsert操作进行初始化 POST people/man/1/_update{ script: ctx._source.age 10, upsert: { age: 20 }}虽然用了但是上面的结果却是20因为文档不存在只是进行了初始化 3. 删除文档3.1 删除单个文档DELETE /people/man/13.2 删除type下的所有文档POST /people/man/_delete_by_query?conflictsproceed{ query: { match_all: {} }}4.查询文档下面列举一些简单的查询更高级的查询在第五部分做介绍 4.1 查询单个文档GET /people/man/24.2 使用_mget批量查询文档GET /_mget{ docs: [ { _index: people, _type: man, _id: 1 }, { _index: people, _type: man, _id: 2 } ]}index和type相同的时候可以合并到一起 GET /people/man/_mget{ docs: [ { _id: 1 }, { _id: 2 } ]}4.3 查询所有文档方式一简单查询GET /people/_search方式二POST /people/_search{ query: { match_all: {} }}4.4 查询出某些字段内容后面跟了 ?_sourcefield1,field2 GET people/man/_search?_sourcename,country{ query: { match: { age: 25 } }}4.5 查询多个索引下的多个typeGET /index1,index2/type1,type2/_search查询所有索引下的部分type GET /_all/type1,type2/_search4.6 模糊查询全文搜索注意下面的“叶良辰”会被拆分成叶、良、辰只要name里面包含这三个字的任意一个都会被查询到 另外中英文搜索会不一样中文是以一个汉字为单位 英文默认以一个单词为单位进行拆分 POST /people/_search{ query: { match: { name: 叶良辰 } }, sort: [ { birthday: { order: desc } } ]} 4.7 全文搜索的精准度4.7.1 搜索结果中必须包括run、jump两种爱好 GET people/_search{ query: { match: { hobby: { query: run jump, operator: and } } }}4.7.2 使用百分比搜索结果中必须包括6个爱好中的一半也就是3个 GET people/_search{ query: { match: { hobby: { query: run jump basketball football piano pingpang, minimum_should_match: 50% } } }}4.7.3 使用数量搜索结果中必须包括3个爱好 GET people/_search{ query: { bool: { should: [ {match: { hobby: basketball }}, {match: { hobby: pingpang }}, {match: { hobby: piano }}, {match: { hobby: run }} ], minimum_should_match: 3 } }} 五、高级查询由于内容比较多篇幅比较大这里把文章分为两部分本文是简单的增删改查————————————————版权声明本文为CSDN博主「前方一片光明」的原创文章遵循 CC 4.0 BY-SA 版权协议转载请附上原文出处链接及本声明。原文链接https://blog.csdn.net/qq_26230421/article/details/80366649 转载于:https://www.cnblogs.com/zeenzhou/p/11588505.html