【问题标题】:MongoEngine search indexMongoEngine 搜索索引
【发布时间】:2013-11-17 03:00:02
【问题描述】:

我正在尝试使用 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 中实现搜索引擎的方法,我将不胜感激?

谢谢!

【问题讨论】:

    标签: mongodb search mongoengine inverted-index


    【解决方案1】:

    MongoDB 支持基本文本索引,请参阅:http://docs.mongodb.org/manual/core/index-text/ 这是存储和搜索文档的更好方法,特别是如果您想要匹配的分数。

    您必须手动调用该命令,因为它当前未在 MongoEngine 中实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-22
      相关资源
      最近更新 更多