文本搜索为在索引字段中包含搜索词的每个文档分配分数。分数确定文档与给定搜索查询的相关性。
对于text索引,索引字段的权重表示就文本搜索分数而言,该字段相对于其他索引字段的重要性。
对于文档中的每个索引字段,MongoDB将匹配数乘以权重并求和。然后,使用此总和,MongoDB计算文档的分数。有关$meta
按文本分数返回和排序的详细信息,请参见运算符。
索引字段的默认权重为1。要调整索引字段的权重,请weights在db.collection.createIndex()方法中包括该选项
。
警告
仔细选择砝码,以免需要重新编制索引。
集合blog包含以下文档:
要text为该content字段和该keywords字段创建具有不同字段权重的索引,请
weights
在createIndex()方法中添加选项。例如,以下命令在三个字段上创建索引,并将权重分配给两个字段:
该text指数具有以下字段和重量:
content 重量为10,keywords 权重为5,并且about 默认权重为1。这些权重表示索引字段彼此之间的相对重要性。例如,content字段中的字词匹配具有:
2将(即10:5)影响作为术语在该keywords字段中的匹配,
并且10时间(即10:1)如在一个匹配术语的影响
about场。