【问题标题】:search for millions of phrases in a document在文档中搜索数百万个短语
【发布时间】:2016-01-30 14:07:20
【问题描述】:

我有一个包含 500 万个短语的列表(每个短语可能是 2-10 个单词)。 我的输入是文本(100 到 5000 个字)。 我想在文本中找到短语(来自 500 万个列表)。 Elasticsearch 是否适合这种情况?

谢谢

【问题讨论】:

  • 您能否详细说明您是否对包含输入文本中出现的某些单词的短语感兴趣(无论顺序如何),或者单词也必须(大约)以相同的顺序出现?它对最适合哪种查询类型具有重大影响。
  • 请查看我对@E-Dahari 回复的评论。谢谢
  • 我已经回答了类似的问题here,基本上你索引了 500 万个短语(短语数组)并提供输入文本,ES 会给你所有的短语(使用 shingles,链接中的更多详细信息)
  • 我主要关心的是输入 - 5000 字。这是一个常见的场景吗? ES会有性能问题吗?

标签: elasticsearch


【解决方案1】:

基本上是的!
但是,这取决于:
Elasticsearch 支持水平扩展,这意味着它可以索引比您拥有的数据更多的数据,只要它在其集群中包含足够的存储、内存和节点(物理机)。

如果您指的是搜索请求性能,那么您描述的数据量应该表现良好。同样,只要您的集群中有足够的节点来分发索引数据和搜索。

here 您可以找到有关该主题的更多信息。

希望对你有帮助。

【讨论】:

  • 我认为问题不在于扩展,而更多地在于如何表达此类查询以及单节点集群的预期性能。
  • 感谢大家的回复。问题是关于性能和可用性。如果我理解正确,当搜索/查询输入是 2 个词时,引擎将执行 2 个查询,每个查询一个词,并将结果合并为一个响应。由于我的输入可能包括 1000 甚至 5000 个单词,我想知道这是否是 Elasticsearch 的有效场景以及该场景的预期性能。谢谢。
猜你喜欢
  • 1970-01-01
  • 2012-01-16
  • 2010-12-31
  • 1970-01-01
  • 2012-08-01
  • 2013-09-30
  • 2021-12-11
  • 1970-01-01
  • 2014-09-19
相关资源
最近更新 更多