当前位置: 首页> 文旅> 美景 > Elasticsearch7.5.2 常用rest api与elasticsearch库

Elasticsearch7.5.2 常用rest api与elasticsearch库

时间:2025/7/11 14:20:39来源:https://blog.csdn.net/a961634066/article/details/140330886 浏览次数:0次

目录

一、rest api

1. 新建索引

2. 删除索引

3. 插入单条数据

4. 更新单条数据

5. 删除单条数据

6. 查询数据

二、python elasticsearch库

1. 新建索引


一、rest api

1. 新建索引

请求方式:PUT

请求URL:http://ip/(your_index_name)

示例URL:http://ip/test_log_20240710-0

 数据参数:

params = {"settings": {"number_of_shards": 1,"number_of_replicas": 0},"aliases": {"test_log":{}},"mappings": {"properties": {"create_time": {"type": "date"},"status":{"type": "integer"},"dev_ip":{"type": "ip"},"dev_uuid":{"type": "keyword"},"user": {"properties": {"name": {"type": "text"},"age": {"type": "integer"},"email": {"type": "keyword"}}},"infos": {"type": "nested","dynamic": false,"properties": {"v_id": {"type": "keyword"},"v_name": {"type": "keyword"},"v_desc": {"type": "text"}}},"remark": {"type": "text"},"show_num": {"type": "long", "doc_values": false, "index": false}}}
}"""
字段类型:text:用于全文本搜索,如文章内容。text字段会被分析器分词,支持模糊搜索和前缀搜索。
keyword:用于不进行分词的搜索,适合存储关键词、ID、标签等。keyword字段不会被分词,适用于精确匹配和聚合。
integer/long/short/byte/double/float/half_float/scaled_float:用于数值类型的数据,不同的类型对应不同的数值范围和精度。
boolean:布尔型字段,值只能是true或false。
binary:用于存储二进制数据,如图像或文件。
date:日期时间字段,可以使用ISO8601格式的字符串或毫秒级的时间戳。
date_nanos:纳秒精度的日期时间字段,存储为纳秒时间戳。
ip:用于存储IPv4或IPv6地址。
object:用于嵌套的JSON对象。可以定义内部字段的映射。
nested:用于存储复杂结构的嵌套文档,允许对嵌套文档进行独立索引和搜索。
geo_point:用于地理坐标,支持基于地理位置的查询。
geo_shape:用于地理形状,如多边形,支持更复杂的地理查询。
completion:用于自动补全功能,存储经过分析的词条列表。
constant_keyword:与keyword类似,但值在索引时会被复制到所有分片,加速聚合操作。
token_count:用于存储分词后的词数。
"""

2. 删除索引

请求方式:DELETE

请求URL:http://ip/(your_index_name)

示例URL:http://ip/test_log_20240710-0

3. 插入单条数据

请求方式:POST

请求URL:http://ip/(your_index_name)

示例URL:http://ip/test_log_20240710-0

数据参数:

{"create_time": 1720601022255,"status": 201,"dev_ip": "192.168.1.101","dev_uuid": "123e4567e89b12d3a456426614174000","user": {"name": "战三","age": 30,"email": "zhansan@example.com"},"infos": [{"v_id": "123e4567e89b12d3a456426614174000","v_name": "战三","v_desc": "描述啦啦啦啦啦啦"}],"remark": "描述!!!!!","show_num": 6789
}

4. 更新单条数据

请求方式:PUT

请求URL:http://ip/(your_index_name)/_doc/(本条记录id)

示例URL:http://ip/test_log_20240710-0/_doc/KjjOm5ABJ5wlHmqgfJvm

数据参数:

{"create_time": "2023-04-01T12:00:00Z","status": 200,"dev_ip": "192.168.1.100","dev_uuid": "123e4567-e89b-12d3-a456-426614174000","user": {"name": "阿汉","age": 30,"email": "john.doe@example.com"},"infos": [{"v_id": "info1","v_name": "Info One","v_desc": "This is the description of info one."},{"v_id": "info2","v_name": "Info Two","v_desc": "This is the description of info two."}],"remark": "Additional remarks about this log entry.","show_num": 12345
}

5. 删除单条数据

请求方式:DELETE

请求URL:http://ip/(your_index_name)/_doc/(本条记录id)

示例URL:http://ip/test_log_20240710-0/_doc/KjjOm5ABJ5wlHmqgfJvm

数据参数:无

6. 查询数据

请求方式:POST

请求URL:http://ip/(your_index_name)/_search

示例URL:http://ip/test_log_20240710-0/_search

数据参数:

{"size": 10,"query": {"bool": {"must": [{"term": {"status": 200}}]}}
}

二、python elasticsearch库

1. 新建索引

......

关键字:Elasticsearch7.5.2 常用rest api与elasticsearch库

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: