2017-08-02 34 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

回答

相關問題