elasticsearch 索引

1.基本概念

  

 

 

     

2.创建索引 

  curl -XPUT http://localhost:9200/myindex?pretty
  其他方式创建索引库
  curl -H "Content-Type: application/json" -XPUT 'http://localhost:9200/indexwb3?pretty' -d '{
  "settings":{
  "index":{
  "number_of_shards":2,
  "number_of_replicas":5
}
}
}'  

3.查看索引

  curl -XGET http://localhost:9200/_cat/indices?v  

4.插入数据

   原生Ajax的时候,发送post请求,先决要素,就是必须有Content-Type:
  curl -H "Content-Type: application/json" -XPUT http://localhost:9200/indexwb2/product/p1 -d '{
  "name":"mac",
  "price":20000,
  "description":"苹果笔记本",
  "attr":["computer","高端"]
  }'

 

  结论:如果不能预判数据库中是否有该文档编号,那么添加已经存在的文档编号,会变成对原有文档的修改。
  小Tip:一旦文档被保存到索引库。和Java字符串相似。它就是不可变的。我们所谓的修改,其实是  使用乐观锁机制
  对我们的记录做了版本的标注。如果不想让ES默认第二个已经文档编号的添加形成称为修改行为,我们可以有如下两种方案。
  curl -H "Content-Type: application/json" -XPUT http://localhost:9200/indexwb2/product/p1?   op_type=create -d '{
"name":"mac",
"price":20000,
"description":"苹果笔记本",
"attr":["computer","高端"]
}'

 

(2)第二种方法是在URL后加/_create作为端点:
PUT /website/index/type/id/_create?pretty

 

5.查询数据

  

根据指定的条件,筛选部分的field进行展示
_search=name,age
_search_include 包含
_search_exclude 排除

 

_search=false //不显示_search中的文本
id/_search _index _type _id 不显示,只显示_source内容

 

6.修改数据

  

curl -H "Content-Type: application/json" -XPOST http://localhost:9200/myindex/product/p2/_update?pretty -d '{"doc":
{"name":"mac第四次",
"price":2000,
"description":"苹果笔记本",
"attr":["computer","高端"]}
}'

 

7.删除数据

 

curl -H "Content-Type: application/json" -XPUT http://localhost:9200/myindex/product/p3 -d '{
"name":"风扇",
"price":20,
"description":"手拿式电风扇",
"attr":["风大","体积小"]
}'

 

8.删除索引

curl -XDELETE http://localhost:9200/myindex/product/p1?pretty

9.简单查询

 

curl -XGET 'http://localhost:9200/myindex/product/_search?q=name:mac第四次&q=price:2000&pretty'
分页查询:
curl -XGET 'http://localhost:9200/myindex/product/_search?size=2&from=2&pretty'

 

https://blog.csdn.net/wypersist

 

转载于:https://www.cnblogs.com/a157/p/9355935.html

Elasticsearch 索引Elasticsearch 集群的核心组件之一,它负责存储、管理和查询大量数据。在 Elasticsearch 中,索引类似于数据库表的概念,在这里数据按照特定结构组织,并允许快速搜索。 ### Elasticsearch 索引的特点: 1. **结构化存储**:每个文档在索引中都有其唯一标识符 (ID),并且可以包含多种类型的数据,如文本、数字、日期等。文档通常由键值对组成,易于理解与操作。 2. **全文搜索能力**:Elasticsearch 强大之处在于它的全文搜索功能。它能够提供高效的模糊匹配、通配符查询、正则表达式搜索等功能,使得复杂的查询变得简单可行。 3. **分布式设计**:Elasticsearch索引可以分布到集群的多个节点上,实现了水平扩展性和高可用性。这意味着随着数据量的增长,系统性能也能线性提升。 4. **实时操作**:无论是写入还是检索数据,Elasticsearch 提供了非常低的延迟时间。这使其非常适合需要实时响应的应用场景。 5. **内置分析库**:Elasticsearch 内置了一系列强大的分析工具,包括但不限于分词、聚合、过滤等,用于从原始数据中提取有价值的信息。 ### 创建索引: 创建 Elasticsearch 索引的基本步骤包括选择索引名称并指定其配置属性,例如类型、映射规则等。通过 API 或 CLI 工具(如 `curl`),你可以轻松地创建一个新的索引,定义如何存储和搜索数据。 ```bash PUT /my_index_name { "mappings": { "properties": { "title": { "type": "text" }, "content": { "type": "text", "analyzer": "ik_max_word" } } } } ``` 上述命令将创建名为 `my_index_name` 的索引,并定义了一个用于存储文本内容的字段 `title` 和 `content`,其中 `content` 字段使用了自定义的中文分词器。 ### 使用索引: 一旦索引建立,就可以向其中添加(`index`)、更新(`update`)、查询(`search`)、删除(`delete`) 文档。Elasticsearch 提供丰富的 RESTful API 来执行这些操作。 ### 相关问题: 1. **如何优化 Elasticsearch 索引性能?** - 调整分片设置、提高缓存命中率、合理设置字段类型及分析器、实施适当的索引策略等。 2. **如何处理 Elasticsearch 索引的数据迁移?** - 利用 Elasticsearch 的内部工具和脚本进行迁移,或者使用专门的数据复制服务。 3. **Elasticsearch 索引的安全管理措施有哪些?** - 设置安全角色、权限控制、认证机制、数据加密等方式来保护索引数据的安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值