从零开发短视频电商 OpenSearch/Elasticsearch 查询总结
from datetime import datetime
from elasticsearch import Elasticsearch
from elasticsearch_dsl import Search, Q
# 假设已经有了Elasticsearch的连接客户端
es = Elasticsearch("http://localhost:9200")
# 定义视频商品搜索类
class VideoSearch(Search):
index = 'video_index'
doc_type = 'video'
# 构建视频搜索对象
search = VideoSearch(using=es)
# 搜索关键字
keyword = "Python"
# 设置搜索过滤条件
search.filter("range", publish_time={"gte": "now-1d/d"}) # 发布时间过滤,最近24小时
search.query(Q("match", title=keyword)) # 根据标题匹配关键字
# 执行搜索并获取结果
response = search.execute()
# 打印搜索结果
for hit in response:
print(f"视频标题:{hit.title}, 发布时间:{hit.publish_time}")
这段代码展示了如何使用Elasticsearch DSL库来构建一个针对视频商品的搜索,并设置了一天内发布的限制条件,以及根据视频标题匹配关键字的查询。代码简洁,注重逻辑性,可以作为开发者学习和使用Elasticsearch进行查询的一个很好的示例。
评论已关闭