elasticsearch-dsl-py 是一个用于与 Elasticsearch 进行交互的 Python 客户端库,它提供了高档别的详细来构建和奉行搜索查询。这个库是 elasticsearch-py 的一个扩张,为 Elasticsearch 的查询 DSL(Domain Specific Language,范畴特定道话)提供了一个更 Pythonic 的接口。
以下是一个简便的 elasticsearch-dsl-py 使用示例,包括怎样邻接到 Elasticsearch、界说文档类型、索引文档以及奉行搜索查询。
装配
当先,你需要装配 elasticsearch 和 elasticsearch-dsl 库:
bash
pip install elasticsearch elasticsearch-dsl
www.ifaku.com/
使用示例
1. 邻接到 Elasticsearch
python
from elasticsearch import Elasticsearch
www.liuchun97.com/
# 邻接到脱手在土产货默许端口的 Elasticsearch 实例
es = Elasticsearch()
2. 界说文档类型
使用 elasticsearch-dsl,你不错通过界说一个 Python 类来映射 Elasticsearch 中的索引和文档类型。
python
from elasticsearch_dsl import Document, Date, String, Integer
www.jxf315.com/
class Article(Document):
title = String(required=True)
content = String()
published_from = Date()
views = Integer()
class Index:
name = 'articles' # 界说索引称号
settings = {
'number_of_shards': 1,
'number_of_replicas': 0
}
def save(self, **kwargs):
# 在保存之前,咱们不错奉行一些自界说逻辑
return super(Article, self).save(**kwargs)
3. 创建索引
在将文档添加到索引之前,你需要先创建它。
python
if not Article.index_exists():
Article.init()
4. 索引文档
你不错创建 Article 实例并将它们添加到 Elasticsearch 中。
python
# 创建著述实例
article = Article(
meta={'id': 1}, # 你不错在这里修复文档 ID,大致让 Elasticsearch 自动生成
title='Elasticsearch DSL Python Client',
content='You can use the elasticsearch-dsl-py library to interact with Elasticsearch...',
published_from='2023-01-01',
views=0
)
# 将著述索引到 Elasticsearch
article.save()
5. 奉行搜索查询
你不错使用 elasticsearch-dsl 的查询 DSL 来构建和奉行搜索查询。
python
from elasticsearch_dsl.query import Q
# 构建一个简便的查询,搜索标题中包含 "Elasticsearch" 的著述
search = Article.search().query("match", title="Elasticsearch")
# 奉行查询并取得效果
response = search.execute()
# 遍历效果
for hit in response:
print(hit.title, hit.views)
能办事项
邻接设立:在邻接到 Elasticsearch 时,你不错指定主机、端口、认证信息等。举例:es = Elasticsearch(['http://localhost:9200'], http_auth=('user', 'password'))。
文档映射:在界说文档类型时,确保字段类型与 Elasticsearch 中的映射相匹配。
查询构建:elasticsearch-dsl 提供了丰富的查询 DSL,你不错字据需要构建复杂的查询。
荒唐措置:在骨子讹诈中,你应该添加合适的荒唐措置逻辑来措置可能发生的特地,如邻接失败、索引不存在等。
性能优化:关于大型索引和复杂查询,你可能需要优化 Elasticsearch 的设立和查询计策以提升性能。
这个示例提供了一个基本的初学指南,但 elasticsearch-dsl-py 的功能特地浩繁,你不错通过查阅官方文档来了解更多高档用法和特质。
- 2024-12-2512月24日基金净值:银华富裕主题搀杂A最新净值4.2625,涨1.41%
- 2024-12-2512月24日基金净值:大澄净熙利率债A最新净值1.0734,跌0.15%
- 2024-12-2512月24日基金净值:兴全营业风景LOF最新净值3.487,涨1.57%
- 2024-12-2512月24日基金净值:博时信用债纯债债券A最新净值1.1492,跌0.04%
- 2024-12-25日本将放宽对华签证:新设10年旅游签等