0
我有一个包含数百万条记录的集合。我试图在称为术语的字段上实现一个自动完成功能,并将其分解为一组称为单词的单词。我的查询速度很慢,因为我对索引缺少一些信息。有人可以帮忙吗?查询的Mongo索引
我有以下查询:
db.vx.find({
semantic: "product",
concept: true,
active: true,
$and: [ { words: { $regex: "^doxycycl.*" } } ]
}).sort({ length: 1 }).limit(100).explain()
解释输出表示,没有索引使用,即使我有以下指标:
{
"v" : 1,
"key" : {
"words" : 1,
"active" : 1,
"concept" : 1,
"semantic" : 1
},
"name" : "words_1_active_1_concept_1_semantic_1",
"ns" : "mydatabase.vx"
}
- 我不明白你的字段是如何称呼'term'的,如果你说和查询一个叫'words'的字段。 – alfredopacino
单词是一个数组,包含字段中的每个单词,因为术语是句子 – Mika
所以没有'term'字段。你的文档有一个字符串“单词”的数组,这是我的权利? – alfredopacino