df.dtypes将写为字典的列展开为dataframe
将这一列赋为list类型,然后转化为dataframe就可以看到详细信息了
数据:
#dataframe名为hits,_source列内容是字典类型记录的 detail = list(hits._source) detail = pd.Dataframe(detail) detailES 连接
#在这之前要pip elasticsearch from elasticsearch import Elasticsearch #创建一个es的对象,9200端口是es的端口号 es = Elasticsearch(host="localhost", port=9200)查询
#查询体
#索引名:ntcir,doc_type为导入数据时存储的类型名
body = {
"query":{
"multi_match":{
"query":"oysters dislike east coast",
"fields":["title","description"]
}
}
}
# 查询title和description包含"oysters dislike east coast"关键字的数据
search_res = es.search(index="ntcir",doc_type="_doc",body=body)
search_res
结果打印
ES查询结果返回的是一个大dict(字典)形式的结果,想转化成熟悉的dataframe形式查看,观察字典形式,找到需要的部分取出来,这里我需要的数据都在’hits’的’hits’下
== 思路:==
没有头绪的时候,先从类型下手,知道返回的是什么类型的数据才能使用相应的方法
hits = search_res.get('hits').get('hits')
hits = pd.Dataframe(hits)
hits



