首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在pyes查询中使用“field”,在0.19.1上失败

在pyes查询中使用“field”,在0.19.1上失败
EN

Stack Overflow用户
提问于 2012-11-23 13:47:39
回答 4查看 594关注 0票数 4

试着用fields=..。pyes .search中的参数失败了

下面是一个简单的测试脚本来说明这个问题:http://pastebin.com/LiRMC3ib

使用当前版本的pyes 0.19.1,此脚本输出{}作为

代码语言:javascript
复制
print resultset[0]

然而,使用以前的“旧的”不稳定的0.19.1版本的pyes,我有- 0.19.1 (不稳定)的结果

代码语言:javascript
复制
print resultset[0]

预期:

代码语言:javascript
复制
{u'name': u'Joe Tester'}

在ES.get调用中使用字段确实有效。

其他人看到了这个,或者有一些关于发生了什么事的提示?

EN

回答 4

Stack Overflow用户

发布于 2014-07-22 20:50:31

重写

代码语言:javascript
复制
resultset = ES.search(query=q, indices='oolong', fields=["name"])

代码语言:javascript
复制
resultset = ES.search(Search(q, fields=['name']), indices='oolong'))
票数 2
EN

Stack Overflow用户

发布于 2012-12-01 22:39:31

在您的pastebin代码中,我注意到一件可以解释意外行为的事情--刷新(第37行)应该在搜索之前(第36行)。否则,如果文档已经提交到索引中,则会出现争用条件。

票数 1
EN

Stack Overflow用户

发布于 2013-04-12 14:41:20

我使用pyes 0.19.1也有同样的问题,但是我能够从结果集中检索一个字段。

替换这一行:

代码语言:javascript
复制
resultset = ES.search(query=q, indices='oolong', fields=["name"])

对此:

代码语言:javascript
复制
resultset = ES.search(query=q, indices='oolong', fields="name")

这对我有用。不过,我还没有想出如何检索多个字段。当我将一个列表传递给字段时,它总是返回空字典。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13530408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档