Elasticsearch vs MongoDB-索引策略

时间:2019-03-19 16:48:19

标签: mongodb performance elasticsearch mongodb-query

我熟悉Elasticsearch中的索引策略和数据建模。假设我们在Elasticsearch索引中有3个字段,即_id,name,referenceId(UUID)。 _id是索引中的实际ID。我想做的是对名称字段的搜索以及对referenceId的不区分大小写的搜索。通常,我会在名称字段上使用ngram tokenizer创建一个自定义分析器,以解决包含搜索问题。我将referenceId的映射设置为关键字。

{
  name: {
    ngram
  }
  referenceId : {
    keyword  
  }
}

所以我现在将获得有效的索引。我也没有由Elasticsearch创建的默认索引。我试图在MongoDB中建模相同的模型。

问题: 1.默认情况下,MongoDB不会在任何字段上创建索引。因此,在没有索引的情况下,对名称字段的查询会很慢。我认为单字段索引将适合我可以包含搜索的名称字段。我说的对吗?

  1. 最适合referenceId的索引是什么类型?我将要进行不区分大小写的精确匹配搜索。我认为创建单字段索引将创建大量数据。不使用索引执行搜索将进行完整扫描。什么是有效的解决方案?

0 个答案:

没有答案