小编shy*_*yos的帖子

ElasticSearch中理想的批量大小公式是什么?

我相信应该有一个公式来计算ElasticSearch中的批量索引大小.可能以下是这种公式的变量.

  • 节点数
  • 分片数/索引
  • 文件大小
  • 内存
  • 磁盘写入速度
  • 局域网速度

我想知道如果有人知道或使用数学公式.如果没有,人们如何决定他们的体积?通过反复试验?

elasticsearch elasticsearch-bulk-api

12
推荐指数
4
解决办法
2万
查看次数

Elasticsearch - 跨多种类型的搜索效率

让我用一个例子来解释我的问题.假设我有三种不同类型的文档,其中包含一些常见字段,即book, song, magazin

  • name, author, publisher, pageNumber
  • name, singer, publisher, length等.
  • Magazin的拥有name, company, publisher, pageNumber等.

如您所见,名称发布者字段是所有三种类型文档的公共字段. pageNumberMagazinBook的特色.其余字段独立于其他类型的文档.

我将这些数据存储在相同的索引上.我也可以存储这些数据,

  • 具有单一类型,例如Object,其中包含category(Book,Song,Magazin)字段.我首先创建索引时给出映射详细信息.因此,在此选项中,书籍将具有长度字段,但它将为空,因为它不是书籍功能.

  • 或_type字段上的三种类型的文档.

我的查询和方面将在公共领域.以下哪种方法的查询和方面时间较少?

/index/book,song,magazin/ -d {myQuery}不是更有效 /index/object/ -d {myQuery && (category = book || category = song || category = magazin)}

谢谢你的回答.

mapping elasticsearch

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

为什么ChannelOutboundHandler异常没有被exceptionCaught()方法捕获?(Netty 4.0.4.Final)

(版本: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)

但这非常不方便.

exception-handling netty

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

如何在elasticsearch中找到最常用的短语?

我知道你可以使用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中有这样的功能吗?

facet term elasticsearch

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