我正在研究mongoose文档的搜索功能,我必须搜索超过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"
}
]
}
]
}
)
有人可以建议我如何加快服务器上的流程。
答案 0 :(得分:0)
为了进一步提高速度,您可以使用文本索引。
但文本索引附带以下存储要求和性能成本
请参阅以下参考资料
https://docs.mongodb.com/manual/core/index-text/
https://www.tutorialspoint.com/mongodb/mongodb_text_search.htm
希望它有所帮助!