gpt4 book ai didi

performance - ElasticSearch缓慢检索文档

转载 作者:行者123 更新时间:2023-12-02 22:21:48 25 4
gpt4 key购买 nike

我正在使用Java_API从ElasticSearch检索记录,在Java应用程序中检索100000文档(记录/行)大约需要5秒。

ElasticSearch慢吗?还是正常?

这是索引设置:

enter image description here

我试图获得更好的性能,但是没有结果,这是我所做的:

  • 将ElasticSearch堆空间设置为3GB,原为1GB(默认)-Xms3g -Xmx3g
  • 从7200 RPM硬盘驱动器上迁移SSD上的ElasticSearch
  • 只检索一个,而不是30个

  • 这是我的Java实现代码
    private void getDocuments() {
    int counter = 1;
    try {
    lgg.info("started");
    TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
    .addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"), 9300));

    SearchResponse scrollResp = client.prepareSearch("ebpp_payments_union").setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
    .setQuery(QueryBuilders.matchAllQuery())
    .setScroll(new TimeValue(1000))
    .setFetchSource(new String[] { "payment_id" }, null)
    .setSize(10000)
    .get();

    do {
    for (SearchHit hit : scrollResp.getHits().getHits()) {
    if (counter % 100000 == 0) {
    lgg.info(counter + "--" + hit.getSourceAsString());
    }
    counter++;
    }

    scrollResp = client.prepareSearchScroll(scrollResp.getScrollId())
    .setScroll(new TimeValue(60000))
    .execute()
    .actionGet();
    } while (scrollResp.getHits().getHits().length != 0);

    client.close();
    } catch (UnknownHostException e) {
    e.printStackTrace();
    }
    }

    I know that TransportClient is deprecated, I tried by RestHighLevelClient also, but it does not changes anything.



    您知道如何获得更好的性能吗?

    我应该在ElasticSearch中更改某些内容还是修改我的Java代码?

    最佳答案

    在不了解所有涉及的内容的情况下,很难进行性能故障排除/调整,但这似乎并不很快。由于这是一个单节点群集,因此您将遇到一些性能问题。如果这是一个生产集群,则每个分片至少要有一个副本,它也可以用于读取。

    您可以做的其他几件事:

  • 根据您最常搜索的属性为您的文档编制索引-这会将具有相同属性的所有文档写入同一分片,因此ES的读取工作量会减少(因为您只有一个分片,所以对您没有帮助)
  • 添加多个副本分片,以便您可以在集群中的各个节点之间展开读取(再次,实际上需要有一个集群)
  • 与数据不在同一个盒子上-拥有主角色-如果您有一个中等或大型集群,则应该既不是主盒子也不是数据盒子,而是您的应用程序所连接的盒子,以便他们可以管理其元数据搜索并使数据节点专注于数据。
  • 使用“query_then_fetch”-除非您使用加权搜索,否则您应该坚持使用DFS。
  • 关于performance - ElasticSearch缓慢检索文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56990900/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com