我相信应该有一个公式来计算ElasticSearch中的批量索引大小.可能以下是这种公式的变量.
我想知道如果有人知道或使用数学公式.如果没有,人们如何决定他们的体积?通过反复试验?
让我用一个例子来解释我的问题.假设我有三种不同类型的文档,其中包含一些常见字段,即book, song, magazin
name, author, publisher, pageNumber
等 name, singer, publisher, length
等. name, company, publisher, pageNumber
等.如您所见,名称和发布者字段是所有三种类型文档的公共字段. pageNumber是Magazin和Book的特色.其余字段独立于其他类型的文档.
我将这些数据存储在相同的索引上.我也可以存储这些数据,
具有单一类型,例如Object,其中包含category
(Book,Song,Magazin)字段.我首先创建索引时给出映射详细信息.因此,在此选项中,书籍将具有长度字段,但它将为空,因为它不是书籍功能.
或_type字段上的三种类型的文档.
我的查询和方面将在公共领域.以下哪种方法的查询和方面时间较少?
是/index/book,song,magazin/ -d {myQuery}
不是更有效
/index/object/ -d {myQuery && (category = book || category = song || category = magazin)}
?
谢谢你的回答.
(版本:Netty 4.0.4.Final)
如果异常上升ChannelInboundHandler
,我可以在exceptionCaught()
方法中处理它,但如果异常上升ChannelOutboundHandler
,我不能.因为,exceptionCaught()
不是电话.为什么会这样?
只有通过分析未来结果来处理出站异常的方法如下:
channel.writeAndFlush(serverPacket).addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture future) throws Exception {
if (!future.isSuccess()) {
future.cause().printStackTrace();
}
}
});
Run Code Online (Sandbox Code Playgroud)
但这非常不方便.
我知道你可以使用facet在索引中找到最常用的术语.
例如,以下输入:
"A B C"
"AA BB CC"
"A AA B BB"
"AA B"
Run Code Online (Sandbox Code Playgroud)
术语facet返回:
B:3
AA:3
A:2
BB:2
CC:1
C:1
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有可能列出以下内容:
AA B:2
A B:1
BB CC:1
....etc...
Run Code Online (Sandbox Code Playgroud)
ElasticSearch中有这样的功能吗?