[英]Mongoose speed up the search on multiple fields
我正在研究貓鼬文檔的搜索功能,其中我必須搜索超過250,000個文檔。 在此功能中,我必須在多個字段上添加搜索索引。 在文檔中,某些字段是字符串類型,某些字段是多級對象。 我已經索引了所有可能的字段。
在本地,我有100,000個文檔,當我搜索它們時大約花費了300-400毫秒。 但是,當我在服務器上搜索它們時,大約花了10到15秒才能做出響應。
搜索查詢是基於條件的,但是我共享一個小代碼段。
$and(
{
$or:[
{'field1': {$regex: re }},
{'field2': {$regex: re }},
{'level1.level2.value': {$regex: re }}
]
},
{
$and:[
{
lowAge: {$lte: parseInt(age)}
},
{
highAge: {$gte: parseInt(age)}
},
{
$or:[
{
gender:gender
},
{
gender:"N/A"
}
]
}
]
}
)
有人可以建議我如何加快服務器上的過程。
為了進一步提高速度,可以使用文本索引。
但是文本索引附帶以下存儲要求和性能成本
請參閱以下參考
https://docs.mongodb.com/manual/core/index-text/
https://www.tutorialspoint.com/mongodb/mongodb_text_search.htm
希望能幫助到你!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.