我有一份200万条记录的科研出版物数据。我使用django restframework编写了用于搜索“标题”和“摘要”数据的API。如果我使用Postgres作为数据库,这需要花费12秒,但是如果我使用MongoDB作为数据库,则只需6秒。
但即使6秒对于用户来说也是很长的等待时间。我对“标题”和“摘要”进行了索引,但由于某些摘要文本过长,因此摘要索引失败。
以下是使用MongoDB(MongoEngine作为ODM)的Django模型:
class Journal(Document):
title = StringField()
journal_title = StringField()
abstract = StringField()
full_text = StringField()
pub_year = IntField()
pub_date = DateTimeField()
pmid = IntField()
link = StringField()
如何提高查询性能?哪种技术栈可以使搜索和检索更快?