如何找出mongo全文搜索中匹配的列表项?

时间:2018-02-20 16:34:51

标签: python mongodb pymongo

我有一个集合,其中包含客户名称和他们各自阅读的书籍列表。我在书名上添加了全文索引

clients.ensure_index([("books.title",pymongo.TEXT)])

有些客户读了一本书,有些读了100本。

我遇到了问题:

我需要确切地知道全文搜索匹配哪个书名。例如,如果我搜索" olive",就像这样......

clients.find({"$text": {"$search": "olive"}})

这会向我返回每场比赛的完整文档,但它并不能告诉我哪个书名是匹配的。

我的第一个想法是通过搜索结果迭代并自己找到完全匹配,但后来我意识到Mongo会做各种词干和其他查询规范化技术。

这意味着"橄榄"将匹配"橄榄" ..等

这意味着即使我遍历全文查询的结果并尝试自己找到匹配的书名,我也许找不到它!由于查询规范化。

那么,我怎样才能找出匹配的书名?

这是Mongo的限制吗?

0 个答案:

没有答案