如何使用 python 的 elasticsearch DSL 访问响应对象

2024-04-14

我有以下代码:

s = Search(using=Elasticsearch('http://user:passwd@ipaddress'), index="myindex")
q = Q("multi_match", query='some query', fields=['_all'])
s = s.query(q)

response = s.execute()
print('Total %d hits found.' % response.hits.total)
for hit in response:
    print(hit.title)

我收到错误:

Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/elasticsearch_dsl/utils.py", line 102, in __getattr__
return _wrap(self._d_[attr_name])
KeyError: 'title'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "FindImage.py", line 89, in <module>
main(args.image_file)
File "FindImage.py", line 82, in main
query_db([1], [2])
File "FindImage.py", line 77, in query_db
print(hit.title)
File "/usr/local/lib/python3.5/dist-packages/elasticsearch_dsl/utils.py", line 105, in __getattr__
'%r object has no attribute %r' % (self.__class__.__name__, attr_name))
AttributeError: 'Result' object has no attribute 'title'

然而,这与文档所述直接矛盾:Docs http://elasticsearch-dsl.readthedocs.io/en/stable/search_dsl.html#hits

我究竟做错了什么?如何从响应中正确提取命中和我的值?

EDIT

另外,响应对象应该有一个方法“toDict”,但是当我尝试调用它时,我再次得到一个 AttributeError。


对于“toDict”问题,response.to_dict()对我有用。不确定此行为在库版本之间是否相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 python 的 elasticsearch DSL 访问响应对象 的相关文章

随机推荐

  • PHP:如果在多维数组中发现重复项,则合并相邻值

    我有一些 PHP 变量集 我正在从中创建一个多维数组 现在 在该数组中 我想检查特定的键 font 对于重复项 如果发现重复项 则对应的相应值 lang and weight 应该合并 这是我到目前为止所尝试的 这会取消设置 删除数组中的重
  • 在 WPF 中创建一个简单的表?

    我想知道是否有一种方法 任何组件 控件 允许我在应用程序窗口中绘制一个简单的 Microsoft Word 样式表格 像这样的事情 有任何想法吗 这取决于您想如何使用它 要么使用其中之一ItemsControl like DataGrid
  • TDD 的 JavaScript 单元测试工具

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我研究并考虑了许多 JavaScript 单元测试和测试工具 但一直无法找到合适的选项来
  • 多表继承模型和相同两个模型之间的简单一对一关系有什么区别?

    这些实现之间有什么区别 Django 有何不同 除了继承 Metaordering and get latest by属性 1 models py from django db import models class Place model
  • 入口类的入口控制器名称

    我正在设置入口控制器 入口类和入口以在集群外部公开服务 这是全新的集群设置 我已经使用设置了 nginx ingress 控制器 kubectl apply f https raw githubusercontent com kuberne
  • Java:一个类可以同时继承两个超类吗?

    我有一个班级旅程 我想将其制作为超级班级和另一个班级计划的旅程 plannedjourney 类扩展了 JFrame 因为它包含表单 但是我也希望这个类扩展 Journey 有没有可能的方法来做到这一点 不要混合模型和视图 如果您将两个域明
  • 为什么Oracle要在这里添加隐藏列呢?

    我们最近将客户系统迁移到 Oracle 12c 和我们产品的最新版本 此过程包括运行许多迁移脚本 其中主要是添加或更改表 我们注意到 向表中添加一列同时提供默认值会创建一个额外的隐藏列SYS NC00002 您应该能够使用以下代码重现此内容
  • 如何为多种屏幕尺寸编写媒体查询?

    如果我想要 body font size 18 px 1900及以上 body font size 16 px 1024 和 1900 body font size 14 px 768 至 1023 body font size 12 px
  • 是否可以在Mongodb中获取切片的切片?

    我正在查询一个 mongo 集合 该集合有一个字段 该字段是数组的数组 我想找到一条记录 其中包含数组数组中一个深度值的投影 从概念上讲 这是 slice 的 slice 在 Mongo 有没有办法做到这一点 例如 我有一条记录 name
  • C++ 是否支持 ASCII?

    一位同事告诉我 C 不支持 ASCII The 源字符集C 程序的定义是实现定义的 那么我的同事在多大程度上是错误的呢 C 编译器在链接数字时需要识别 ASCII48价值 0 所以是的 它需要能够识别 ASCII 但它总是需要吗 想象一下你
  • Node.JS 中的 HTTP DELETE 动词

    在向 Node js 应用程序发出 DELETE 请求之前 是否需要设置任何配置 我会做GET POST or PUT要求 但是DELETE请求将不起作用 DELETE http localhost 8081 api 1 0 entry y
  • 选择具有特定子元素的元素?

    如果我想在这样的列表上做一个 CSS 选择器 ul li li li a a li li a a li li a a li ul 我想做一个li hover仅影响li包含一个 a tag 有没有办法在CSS中指定它 if li hover
  • Javascript - 检查“dragenter”上的文件类型

    我试图仅允许 jpg 文件 当您拖动 拖动时 如果至少有一个被拖动的文件不是 jpg 那么我想显示错误消息 否则只显示活动的放置区 我无法获得仅检查 jpg 文件的正确语法 即使文件时间是 jpg 我也会不断触发错误消息 无论我做错了什么
  • Keras 自定义损失函数传递 y_true 和 y_pred 以外的参数

    我正在编写一个 keras 自定义损失函数 其中我想将以下内容传递给该函数 y true y pred 这两个无论如何都会自动传递 模型内层的权重和一个常量 像下面这样 def Custom loss y true y pred layer
  • 如何在Windows上部署具有深层node_modules结构的Node.js应用程序?

    我遇到了一个奇怪的问题 显然某些 Node js 模块有这样的问题deep文件夹层次结构Windows 复制命令 或 PowerShell 的Copy Item当路径长度超过 250 个字符时 会出现臭名昭著的 路径太长 错误 例如 这是单
  • Scaffold-DbContext 为没有主键的表创建模型

    我正在尝试为 ASP NET core MVC 应用程序中的特定表创建 DBcontext 和相应的模型 该表没有任何主键 我正在按照 Scaffold DbContext 命令运行 Scaffold DbContext Server XX
  • setup.py 与 conda 安装的依赖项(不是 pip)

    我正在开发一个现有的 Python 3 代码库 它提供了setup py因此代码作为 Python 库安装 我正在尝试安装这个内部库及其自己的依赖项 通常的数据科学库 例如pandas pyodbc sqlalchemy etc 我希望有这
  • 将大核心文件转换为“minicore”文件

    如何将核心文件减少到仅线程堆栈 我希望能够运行 gdbthread apply all bt在迷你核心上 仅此而已 我正在处理大型 gt 4GB 多线程 Linux ELF 核心文件 这些文件太大而无法返回进行分析 我见过谷歌断点器 htt
  • MVC 5 HttpErrors + 控制器/操作

    如何更改控制器 操作的错误路径与http错误 我有这个代码
  • 如何使用 python 的 elasticsearch DSL 访问响应对象

    我有以下代码 s Search using Elasticsearch http user passwd ipaddress index myindex q Q multi match query some query fields all