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