2013-04-24 1 views
0

Наша база данных хранит фотоальбомы и фотографии. Каждый альбом имеет название, теги, описание. Каждая фотография имеет название, теги и описание.Предложение для поиска контента в MongoDB в MVC Приложение Ajax

Все, что я хочу, это показать 5 результатов поиска, как только пользователь наберет слово в окне поиска.

Затем покажите 50 результатов поиска на странице и так далее.

  1. В каких полях следует указывать только заголовки или метки (встроенный массив) или оба?
  2. Что использовать для лучшего поиска - индекс MongoDB на поданном или другом типе индекса? Решение должно масштабироваться по мере роста данных.

Если кто-нибудь может помочь мне с некоторыми указателями о том, как действовать, это будет здорово.

Я до сих пор использую старую версию MongoDB 1,8

Благодарность

+0

Вы должны индексировать поля, которые вы ищете. Если вы выполняете поиск по ключевым словам, взгляните на это: http://docs.mongodb.org/manual/tutorial/model-data-for-keyword-search/. Но если вы ищете полнотекстовое поисковое решение, пока 10gen не выпустит функцию поиска текста, предназначенную для производства, я бы предложил вам посмотреть Solr или ElasticSearch. – WiredPrairie

+0

И, кроме того, обновление до 2.4+. :) Есть много новых функций и улучшений производительности с 1,8. – WiredPrairie

+0

Hey WiredPrairie, если 10gen выпускает текстовый поиск, то заменит Lucene \ Solr? В этом случае недостаточно ROI для поиска решения Lucene \ Solr, поскольку оно будет временным. Что рекомендуют Mongodb в качестве поискового решения для крупного экспорта в текстовом режиме? – kheya

ответ

0

Если вам требуется только название, чтобы быть для поиска в соответствии с вашим последним комментарием, то вы могли бы просто использовать оператор $ регулярного выражения:

http://docs.mongodb.org/manual/reference/operator/regex/#op._S_regex

Если вы закрепляете регулярное выражение (то есть/^ something /), то оно даже будет использовать ваши индексы, которые будут очень быстрыми.

Выполнение этого в огромной базе данных не будет фантастическим.

В противном случае, как следует WiredPrairie, загляните в поиск по ключевым словам:

http://docs.mongodb.org/manual/tutorial/model-data-for-keyword-search/