首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
ElasticSearch开篇ES的安装
ElasticSearch的基本概念与名词解析
ElasticSearch数据管理文档的基础操作
ElasticSearch全文搜索API实践
ElasticSearch之Term-Query-API实践
ElasticSearch组合查询
ElasticSearch推荐搜索选项Suggesters的API
ElasticSearch统计需求之聚合
ElasticSearch集群管理API的使用
ElasticSearch索引管理API的使用
ElasticSearch中Mapping的使用
ElasticSearch关系模型之嵌套类型和父子文档
ElasticSearch正排索引与倒排索引简介
ElasticSearch全文搜索之倒排索引的实现
ElasticSearch数据相似的依据之相关性评分
ElasticSearch词项生成器之分词器
ElasticSearch分布式之集群中常见问题与解决方案
ElasticSearch分布式文档搜索机制
ElasticSearch数据持久化之分布式文档的存储流程
ElasticSearch分页之from+size、search after、scroll api
ElasticSearch聚合分析的原理之聚合结果一定准确
ElasticSearch数据副本策略
ElasticSearch数据副本模型
ElasticSearch集群运维
ElasticSearch索引的生命周期ILM
ElasticSearch安全之集群安全
ElasticSearch异常管理之搭建ELK日志系统
当前位置:
首页>>
技术小册>>
ElasticSearch零基础到实战
小册名称:ElasticSearch零基础到实战
本文将介绍ElasticSearch的全文搜索API,并提供代码示例帮助读者更好地理解和使用该功能。 环境准备 在开始使用ElasticSearch的全文搜索API之前,我们需要准备一个ElasticSearch实例。这里我们以Docker容器方式搭建一个ElasticSearch实例: ```asp docker run --name es -p 9200:9200 -e "discovery.type=single-node" elasticsearch:7.12.1 ``` 上述命令会在本地启动一个ElasticSearch实例,并将9200端口映射到本地,方便我们通过API进行访问。 创建索引 在使用ElasticSearch的全文搜索API之前,我们需要先创建一个索引。索引是ElasticSearch中用于存储和检索文档的容器,类似于关系型数据库中的表。 下面是一个创建名为“my_index”的索引的示例代码: ```asp import requests url = "http://localhost:9200/my_index" headers = { "Content-Type": "application/json" } data = """ { "settings": { "number_of_shards": 1, "number_of_replicas": 0 }, "mappings": { "properties": { "title": { "type": "text" }, "content": { "type": "text" } } } } """ response = requests.put(url, headers=headers, data=data) print(response.json()) ``` 上述代码通过HTTP PUT请求向ElasticSearch实例的“/my_index”路径发送一个JSON格式的数据,该数据定义了索引的设置和映射。其中,“number_of_shards”定义了索引的主分片数量,“number_of_replicas”定义了副本数量。在这里,我们将主分片数设置为1,将副本数设置为0,这意味着我们的索引只有一个主分片,没有副本。 在“mappings”字段中,我们定义了两个字段:“title”和“content”。这两个字段都被指定为“text”类型,这意味着它们可以被全文搜索。 如果创建成功,ElasticSearch会返回一个JSON格式的响应,包含了索引的设置和映射信息。 添加文档 一旦我们创建了索引,就可以向其中添加文档了。在ElasticSearch中,文档是JSON格式的数据,类似于关系型数据库中的行。我们可以通过HTTP PUT请求将文档添加到索引中。 下面是一个向名为“my_index”的索引添加一篇文档的示例代码: ```asp import requests url = "http://localhost:9200/my_index/_doc/1" headers = { "Content-Type": "application/json" } data = """ { "title": "ElasticSearch全文搜索API实践", "content": "本文介绍了ElasticSearch的全文搜索API,并提供代码示例帮助读者更好地理解和使用该功能。" } """ response = requests.put(url, headers=headers, data=data) print(response.json()) ``` 上述代码通过HTTP PUT请求向名为“my_index”的索引中添加了一篇文档。文档的ID为“1”,文档内容包含了“title”和“content”两个字段。如果添加成功,ElasticSearch会返回一个JSON格式的响应,包含了文档的ID、版本等信息。 查询文档 在向ElasticSearch中添加了文档之后,我们可以使用全文搜索API查询这些文档。ElasticSearch的全文搜索API支持各种查询类型,如匹配查询、短语查询、前缀查询、通配符查询等。 下面是一个查询包含关键字“全文搜索”的文档的示例代码 ```asp import requests url = "http://localhost:9200/my_index/_search" headers = { "Content-Type": "application/json" } data = """ { "query": { "match": { "content": "全文搜索" } } } """ response = requests.get(url, headers=headers, data=data) print(response.json()) ``` 上述代码通过HTTP GET请求向ElasticSearch实例的“/my_index/_search”路径发送一个JSON格式的数据,该数据定义了查询的内容。在这里,我们使用“match”查询类型查询包含关键字“全文搜索”的文档。 如果查询成功,ElasticSearch会返回一个JSON格式的响应,包含了查询结果的相关信息,如文档ID、得分等。
上一篇:
ElasticSearch数据管理文档的基础操作
下一篇:
ElasticSearch之Term-Query-API实践
该分类下的相关小册推荐:
ElasticSearch入门与实践