我正在尝试使用 MongoDb (MongoEngine) 实现倒排索引搜索引擎,其中帖子中的术语被分配权重,然后用作嵌入式文档,如下所示:
class Term(db.EmbeddedDocument):
t = db.StringField()
weight = db.FloatField()
class Post(db.Document):
terms = db.ListField(db.EmbeddedDocumentField(Term))
然后给定一个术语,我可以使用此查询找到包含该术语的帖子:
post_list = Post.objects(terms__t=term)
但是,这会返回一个帖子列表,但是我如何才能找到每个返回的帖子的术语权重,而无需遍历嵌入术语列表来查找术语?有没有办法查询帖子以自动返回任何返回帖子的权重?
如果有人有更好的方法在 MongoDB 中实现搜索引擎,也将不胜感激?
谢谢!