微服务分布式搜索引擎 ElasticSearch 查询文档
warning:
这篇文章距离上次修改已过193天,其中的内容可能已经有所变动。
from datetime import datetime
from elasticsearch import Elasticsearch
from elasticsearch_dsl import Search, Q
# 假设已经有了Elasticsearch实例和Index的映射
es = Elasticsearch("http://localhost:9200/")
# 定义一个搜索类
class ArticleSearch(Search):
index = 'articles'
# 创建搜索实例
search = ArticleSearch(using=es)
# 设置查询条件,例如查询标题包含"Python"的文章
query = Q("match", title="Python")
# 执行搜索
results = search.query(query).execute()
# 遍历并打印结果
for result in results:
print(f"标题: {result['title']}, 发布时间: {datetime.fromisoformat(result['publish_date'])}")
这段代码使用了Elasticsearch Python API和Elasticsearch-DSL来创建一个针对articles
索引的搜索实例,并设置了一个匹配查询条件来查找标题中包含"Python"的文档。然后执行搜索并打印出每篇文章的标题和发布时间。这个例子展示了如何使用Elasticsearch进行基本的全文搜索和日期范围查询。
评论已关闭