2017-08-02 141 views
0

我有一个集合(Foo),它具有“关键字”字段。我想查找与给定字符串匹配的文档(至少有一个匹配关键字),并按匹配数排序。MongoDb:查找包含与给定字符串匹配的标签/关键字的文档

Foo: 
{name: 'Foo1', keywords: ['example', 'sample', 'keywords']}, 
{name: 'Foo2', keywords: ['keywords example', 'find']}, 
{name: 'Foo3', keywords: ['search']}, 
{name: 'Foo4', keywords: ['example keywords', 'find', 'example', 'search']} 

所以对于字符串"This is example keywords search"应该返回顺序文件:

  1. Foo4(3场比赛 - '例如关键字', '示例', '搜索')
  2. Foo1(2场比赛 - '例如', '关键字')
  3. Foo3(1场比赛 - '搜索')

我使用Symfony3和DoctrineODM如果它使广告。差分。谢谢大家的帮助!

+0

[查找包含特定值的数组的文档]的可能重复(https://stackoverflow.com/questions/18148166/ find-document-with-array-that-c​​ontains-a-specific-value) – Severin

+0

@Severin我没有看到你的链接与我的问题相似,因为我有字符串作为输入,它不能简单地分解为单个单词 – Sycu

+0

你有没有尝试过任何东西,或者只是抛出一个任务,希望有人能解决它? – malarzm

回答

相关问题