elasticsearch - NEST Elasticsearch 错误 : The underlying connection was closed

标签 elasticsearch nest

我在使用 NEST 客户端通过 ElasticSearch 集群连接时遇到问题。

在我的开发机器上,我可以很好地连接和运行对弹性(在我的本地机器上运行)的查询,但在我们的暂存环境中,我收到错误“System.Net.WebException:底层连接已关闭:连接意外关闭。 ”。

我们的暂存环境由 4 台运行 Elastic 的 Linux 机器和一台运行我们的客户端软件的 Windows 机器组成。

我已经在 connectionsettings 上设置了 DisableDirectStreaming()。我也试过设置<httpWebRequest useUnsafeHeaderParsing="true" />在我的 web.config 中,但错误仍然存​​在(但现在 ApiCall.OriginalException 为 NULL)。

通过 Kopf 接口(interface)发送查询,返回结果,因此集群似乎可以运行。

有人知道这里出了什么问题吗?

更新:
我正在运行的查询是(其中 indexFilter 和 searchFilter 根据用户请求填充):
此查询在我的本地 ES (Windows/ES 2.1.1) 上有效,但在我的生产 ES (Ubuntu/ES 2.1.1) 上无效

QueryContainer indexFilter = new QueryContainer();
QueryContainer searchFilter = new QueryContainer();

var result = db.Client.Search<IndexRecord>
(
    search => search
    .Query
    (
        f => f.HasChild<SearchRecord>
        (
            c => c
            .Query
            (
                f2 => searchFilter
            )
        ) & indexFilter
    )
    .Sort
    (
        ss => ss.Ascending(f => f.AccommodationName)
    )
    .Size(10)
);

最佳答案

我解决了这个问题。不知何故,客户端正在与端口 9300 而不是端口 9200 交谈。我修复了这个问题,现在从 ES 中获取结果。

关于elasticsearch - NEST Elasticsearch 错误 : The underlying connection was closed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35652901/

相关文章:

ElasticSearch 嵌套查询

elasticsearch - 如何在嵌套中使用同义词的示例

Java 日期方法?类? joptionpane/输出/显示数据库中数组列表中的对象?

elasticsearch - 使用术语查询的多匹配查询搜索多个索引elasticsearch 6.x

elasticsearch - 重新记录logstash记录?修复提取物?

json - 将文档加载到Elasticsearch 7.3时如何修复NullPointerException

elasticsearch - ElasticSearch从当前ID获取下一个和上一个文档ID

elasticsearch - elasticsearch中的可选字段

elasticsearch - Elasticsearch计数值在范围内的文档

elasticsearch - 为什么 NEST 包括 TCP 保持事件状态?