【问题标题】:Elastic Search No server available, list index out of range弹性搜索没有可用的服务器,列表索引超出范围
【发布时间】:2013-05-30 02:36:52
【问题描述】:

我正在尝试获取一个使用 pyes 进行弹性搜索的简单示例,但我无法让起始示例正常工作。我正在关注此处找到的文档:http://pyes.readthedocs.org/en/latest/manual/usage.html

只是尝试运行以下函数,但它并不完全有效。

def index_transcripts():
    conn = ES('127.0.0.1:9200')
    conn.indices.create_index("test-index")

index_transcripts()

在我看来这应该很简单,但我得到了以下错误:

pyes.exceptions.NoServerAvailable: list index out of range

我刚刚开始使用 Elastic Search,pyes 似乎是一个很棒的库,但我显然不确定应该如何使用它。任何帮助将不胜感激。

【问题讨论】:

    标签: python indexing elasticsearch pyes


    【解决方案1】:

    这将起作用:

    ES(server=[('http', 'localhost', 9200)])
    

    Server 是一个元组列表。

    这方面的文档在这里: http://pyes.readthedocs.org/en/latest/references/pyes.connection.html

    【讨论】:

    • 啊,抱歉我没有更新这个问题。事实证明,这里唯一的问题是 pyes 绑定的 ES create 方法在继续之前不会等待 es 实例实际创建。当我从方法外部传入 ES 对象时,效果很好。由于像这样的愚蠢问题,最终没有在这个项目中使用 pyes,但感谢您的回答。
    • 实际上,像上面那样定义服务器并不重要。这是最具描述性的方式,但不是必需的。我也收到此错误,但没有找到好的解决方案。从 elasticsearch 中删除索引会引发错误,但经过几次索引后,它会再次发生。我尝试同时定义服务器 ES() 和 ES[],但都没有。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-05
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 2011-06-14
    • 2016-06-04
    相关资源
    最近更新 更多