【问题标题】:ElasticSearch/Lucene not_analyzed: difference from relational databasesElasticSearch/Lucene not_analyzed:与关系数据库的区别
【发布时间】:2014-12-16 08:59:27
【问题描述】:

我是 ElasticSearch 的新手,所以一些索引方面还不清楚。我想知道在以下情况下它是否会比关系数据库更有效。

有一个包含许多简单字符串和数字字段的文档模式。字段集是众所周知的,因此也可以表示为关系表。字符串值是标识符,因此分析器已关闭。通过字符串的全值匹配和数字的数字比较(等于、小于、更大)进行搜索。假设字段数很大,假设为 200。

搜索条件可以包括字段的任意组合。

我不确切知道 ES 是如何执行 not_analyzed 字段的搜索,但猜测与关系数据库没有太大区别。

【问题讨论】:

    标签: indexing elasticsearch lucene relational-database


    【解决方案1】:

    相对性能(关系型与 ES 型)将取决于您的数据大小和查询的复杂性。

    Elasticsearch 专为查询性能而设计 - 所以通常您应该会发现 ES 比关系更快且更具可扩展性。

    不过,您需要使用数据查询运行测试以确认。

    【讨论】:

    • 搜索条件可以包括任何字段组合。 我的意思是查询复杂性取决于用户选择,例如field1='abcd' and field2=3 and field22>10 and (field30='aaa' or field100<20)。文档数量约为 50000。
    • 您提供的查询在 ES 中应该没问题。 50k 个文档对于 ES 来说是一个很小的数字——你应该能够在单台 PC 上运行这么多文档。
    猜你喜欢
    • 2014-08-05
    • 2015-03-03
    • 1970-01-01
    • 2021-04-20
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    相关资源
    最近更新 更多