小编Tec*_*Sid的帖子

在Elasticsearch中模拟随机分页的滚动条或search_after哪个更好?

我想随机跳转到Elasticsearch结果的页面。在Elasticsearch中分页有三种方法:

  • from / size-由于最大深度限制为10000,因此无法使用。
  • 滚动API-我可以使用它,但是它具有与之相关的内存使用成本(使搜索上下文保持活动状态)。
  • search_after-我也可以使用它,即使它比滚动便宜,因为它是无状态的。

我知道无论如何,Elasticsearch都会顺序读取数据。假设我要获得第99页,那么elastic将读取所有98个结果以得到第99页的结果。

我可以做一件事,即减少我将在目标数据之前顺序获取的数据,在这种情况下,我将减少返回的98页数据,而对于第99页,我将获取完整数据。

我的主要问题是“如果我没有内存问题,那么哪种方法可以更快地顺序获取98页呢?” (search_after或滚动)

如果使用滚动条,则每次使用后都会清除它。

pagination elasticsearch

5
推荐指数
1
解决办法
728
查看次数

删除除Elasticsearch中的一个索引以外的所有索引?

有什么办法可以删除除一个索引以外的所有索引?

我们可以在GET请求中使用文档的元数据_index:

GET _count
{
  "query": {
    "match": {
      "_index": "indexname"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

上面的查询没有任何意义,而只是表明我们可以在我提到的查询中使用_index。

我已经尝试过以下查询,但是我猜_all API不支持查询。

DELETE _all
{
  "query" : {
  "bool" : {
   "must_not" : [
     {
       "match": {
         "_index": "indexname"
       }
     }
   ]
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以删除所有索引(一个或多个除外)而不使用批量API?

elasticsearch kibana

2
推荐指数
1
解决办法
967
查看次数

为什么我们不能拥有持有超类对象的当前类引用?

让我们说如果有两个类A和B,其中A扩展B,所以按惯例A可以访问非私有的B成员.那么为什么我们不能创建B的对象并将该引用分配给A.

A类:

public class A extends B {
    public static void main(String[] args) {        
        A a = new B();          
        B b = new A();          
    }    
}
Run Code Online (Sandbox Code Playgroud)

B级:

public class B { 

}
Run Code Online (Sandbox Code Playgroud)

我的主要问题是:

  1. 为什么A a = new B();不对?
  2. 为什么B b = new A();是正确的?

java inheritance class

1
推荐指数
1
解决办法
62
查看次数

标签 统计

elasticsearch ×2

class ×1

inheritance ×1

java ×1

kibana ×1

pagination ×1