Elasticsearch:包含大型文档(PDF,doc,txt)的索引的搜索性能较慢

奇拉格

我在使用mapper-attachment进行弹性搜索时有65000个文档(pdf,docx,txt等)索引。现在,我想使用以下查询在该存储文档中搜索内容:

"from" : 0, "size" : 50,
"query": {
    "match": {
        "my_attachment.content": req.params.name
     }
}

但是需要20到30秒才能获得结果。这是非常慢的响应。所以我需要做快速反应吗?任何的想法?

这里是映射:

"my_attachment": {
                  "type": "attachment",
                  "fields": {
                     "content": {
                        "type": "string",
                        "store": true,
                        "term_vector": "with_positions_offsets"
                     }
                 }
}
安德烈·斯特凡(Andrei Stefan)

由于您的计算机具有4个CPU,索引为5个分片,因此建议您切换到4个主分片,这意味着您需要重新索引。采用这种方法的原因是,在任何给定时间执行一次查询都将使用4个内核。对于其中一个分片,查询需要等待。要在查询时平均分配负载,请使用4个主分片(= CPU核心数),以便在运行查询时在CPU级别上不会有太多争用。

另外,通过提供curl localhost:9200/your_documents_index/_statsI的输出,我发现“获取”部分(从分片中检索文档)平均每个操作花费4.2秒。这可能是由于文档非常大或检索了很多文档而导致的。size: 50不是一个很大的数字,但与大文档结合使用,将使查询在更长的时间内返回结果。

content字段(其中包含实际文档字段)具有store: true,如果您要突出显示字段,则文档说

为了执行突出显示,需要该字段的实际内容。如果存储了相关字段(在映射中store设置为true),则将使用_source该字段,否则将加载实际字段并从中提取相关字段。

因此,如果您没有_source为索引禁用,则将使用该索引,并且不需要存储内容。此外,获取更快的速度没有任何魔力,它与文档的大小以及要检索的文档数量严格相关。不使用store: true可能会明显缩短时间。

从节点状态(curl -XGET "http://localhost:9200/_nodes/stats"来看,没有迹象表明该节点存在内存或CPU问题,因此一切都归结为我之前的建议。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ElasticSearch 搜索性能

来自分类Dev

索引时对文档进行排序会改善Elasticsearch的搜索性能吗?

来自分类Dev

Elasticsearch分片和副本搜索性能

来自分类Dev

Elasticsearch over mysql搜索性能

来自分类Dev

MYSql搜索性能问题

来自分类Dev

如何提高搜索性能

来自分类Dev

Lucene中大型#文档的索引性能

来自分类Dev

Alfresco搜索服务的搜索性能问题

来自分类Dev

向量与集合中的搜索性能

来自分类Dev

HashMap中的LinkedList搜索性能

来自分类Dev

在mongoDB中查找/搜索性能

来自分类Dev

模式搜索性能不佳

来自分类Dev

大型阵列上的SSE性能较慢

来自分类Dev

通过实体框架提高SQL Server中的搜索性能

来自分类Dev

如何在使用avplayer时提高搜索性能

来自分类Dev

在 PostgreSQL 中按列值搜索性能

来自分类Dev

MySQL索引大型表的性能

来自分类Dev

如何搜索Elasticsearch索引中附加的文档的内容

来自分类Dev

使用索引或以任何其他可能的方式提高大型文档中大型集合的查询性能

来自分类Dev

在弹性搜索中索引包含数学表达式的文档的最佳方法是什么?

来自分类Dev

如何在Golang的Elasticsearch文档(已索引)中搜索字符串?

来自分类Dev

Elasticsearch:在文本字段中根据搜索字符串的索引值对文档进行排序

来自分类Dev

路由Elasticsearch文档索引问题

来自分类Dev

使用Elasticsearch,如何为包含数组的文档创建索引,并在将来追加到该数组

来自分类Dev

$ watch的性能较慢

来自分类Dev

具有很多字段的表,或具有1到1关系的表,以提高搜索性能

来自分类Dev

Elasticsearch:扫描搜索与按_doc排序

来自分类Dev

Elasticsearch:文档大小和查询性能

来自分类Dev

弹性搜索的索引包含并从搜索开始

Related 相关文章

热门标签

归档