思云App中使用ES API对课程进行查询。贴出实现的代码,要求可以对课程的标题、作者、分类、描述信息进行查询。
时间: 2024-03-12 09:45:10 浏览: 89
好的,以下是一个使用ES API对思云App中的课程进行查询的示例代码。它可以对课程的标题、作者、分类、描述信息进行查询。
```python
from elasticsearch import Elasticsearch
# 创建ES连接
es = Elasticsearch([{'host': 'localhost', 'port': 9200}])
# 搜索课程的函数
def search_courses(query):
# 搜索的index
index = 'courses'
# 查询语句
body = {
"query": {
"multi_match": {
"query": query,
"fields": ["title^3", "author^2", "category^2", "description"]
}
}
}
# 执行搜索
res = es.search(index=index, body=body)
# 处理搜索结果
hits = res['hits']['hits']
results = []
for hit in hits:
result = {
'id': hit['_id'],
'title': hit['_source']['title'],
'author': hit['_source']['author'],
'category': hit['_source']['category'],
'description': hit['_source']['description']
}
results.append(result)
return results
```
你可以将 `query` 参数设置为你想要搜索的关键词,然后调用 `search_courses` 函数来执行搜索。搜索结果是一个字典列表,每个字典包含课程的 ID、标题、作者、分类和描述信息。
阅读全文