我想随机跳转到Elasticsearch结果的页面。在Elasticsearch中分页有三种方法:
我知道无论如何,Elasticsearch都会顺序读取数据。假设我要获得第99页,那么elastic将读取所有98个结果以得到第99页的结果。
我可以做一件事,即减少我将在目标数据之前顺序获取的数据,在这种情况下,我将减少返回的98页数据,而对于第99页,我将获取完整数据。
我的主要问题是“如果我没有内存问题,那么哪种方法可以更快地顺序获取98页呢?” (search_after或滚动)
如果使用滚动条,则每次使用后都会清除它。
有什么办法可以删除除一个索引以外的所有索引?
我们可以在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?
让我们说如果有两个类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)
我的主要问题是:
A a = new B();不对?B b = new A();是正确的?