2012-07-01 74 views
1

好吧,這聽起來很簡單,但我不知道該怎麼做。排名MongoDB搜索

我正在運行PHP 5.3.x,這就是我想要做的。我知道find()命令。但我不知道如何對返回的JSON進行排名。

這裏是我們如何保存我們的博客

{ 
"title":"this is a title"; 
"body":"this is the body"; 
"author":"ROB" 
"keywords":[{'auto';'music';'fun'}] 
"country":"USA" 
"dateadded":"07-11-2011"; 
} 

我想要做的就是按以下順序 關鍵字匹配100% - 0% 作者如果作者已經談到這個關鍵字很多有帖子走高高達 標題搜索比分1(意思是匹配什麼用戶搜索 順序按日期最新到最舊

請讓我知道這是可能的。

+0

在[Mongo全文搜索選項](http://stackoverflow.com/questions/11015887/mongodb-full-text-search-options)和[全文搜索索引](http:///stackoverflow.com/questions/737275/comparison-of-full-text-search-engine-lucene-sphinx-postgresql-mysql/737931)可能有幫助。在[全文搜索]上也有一個MongoDB wiki頁面(http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo)。 – Stennie

回答

2

Mongo是一個不是搜索引擎的文檔商店。我建議你看看SOLR,將你的文檔編入索引/關聯索引,並將文檔存儲在mongo中。對於一個博客,你可以放棄mongo,只是將所有內容都存儲在SOLR中,但對於大型文檔集來說,這將是一個糟糕的主意。

+0

是的,我使用了一個博客JSON,所以你會明白,這不是一個真正的博客只是相同的佈局。我真的不想使用SOLR或其他任何需要我忘記mongo並使用一些不同的其他設備 – RussellHarrower

+0

如果大約10,000個集合行 – RussellHarrower

+0

10k很小,它將會是一個大集合。 SOLR做你想做的事。明戈不會。 SOLR很容易不要害怕。 – Kevin