2012-07-01 5 views
1

Хорошо, это может показаться простым, но я не уверен, что делать.Рейтинг MongoDB search

Я запускаю 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), которые могут быть полезны. Существует также страница wiki MongoDB в [полнотекстовый поиск] (http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo). – Stennie

ответ

2

Mongo - это хранилище документов, не являющееся поисковой системой. Я рекомендую вам взглянуть на SOLR, чтобы индексировать ваши документы для поиска/релевантности и хранить сами документы в монго. Для блога вы, вероятно, можете отказаться от монго и просто сохранить все в SOLR, но для больших наборов документов это будет плохая идея.

+0

Да, я использовал блог JSON так, чтобы вы поняли, что это не БЛОГ, точно такой же макет. Я действительно не хочу использовать SOLR или что-нибудь еще, что требует от меня забыть монго и использовать некоторые разные – RussellHarrower

+0

Это будет большой набор, если около 10 000 строк коллекции – RussellHarrower

+0

10k мало. SOLR делает то, что вы хотите. Минго не делает. SOLR легко не бояться. – Kevin