我熟悉Elasticsearch中的索引策略和数据建模。假设我们在Elasticsearch索引中有3个字段,即_id,name,referenceId(UUID)。 _id是索引中的实际ID。我想做的是对名称字段的搜索以及对referenceId的不区分大小写的搜索。通常,我会在名称字段上使用ngram tokenizer创建一个自定义分析器,以解决包含搜索问题。我将referenceId的映射设置为关键字。
{
name: {
ngram
}
referenceId : {
keyword
}
}
所以我现在将获得有效的索引。我也没有由Elasticsearch创建的默认索引。我试图在MongoDB中建模相同的模型。
问题: 1.默认情况下,MongoDB不会在任何字段上创建索引。因此,在没有索引的情况下,对名称字段的查询会很慢。我认为单字段索引将适合我可以包含搜索的名称字段。我说的对吗?