2010-10-02 3 views
7

Я вставляю свои данные в MongoDB и имеет 240 таких файлов. Вместо того, чтобы вставлять все в одну большую коллекцию, я думал о том, чтобы вставлять файлы в виде коллекции самостоятельно. Это хорошая идея, если я делаю много запросов в колонке с общими индексами?Могу ли я искать коллекцию в MongoDB?

Если да, то как я могу инициировать запрос для запроса ко всем коллекциям в моей базе данных?

ответ

1

Использование сервера приложений, таких как Solr может помочь вам достичь того, чего вы хотите, а также с добавлением нечеткого соответствия, синонимов, фонетического соответствия, опечатками и т.д.

Солор построен на вершине Lucene. Это документы здесь:

http://lucene.apache.org/solr/

Кривая обучения является немного крутым, но вы можете получить довольно хорошую возможность поиска, используя большую часть его по умолчанию, оставив вас построить схему и индекс ваших данных, чтобы начать работу.

1

Я думаю, что ответ вы ищете действительно здесь, на ваш другой вопрос: Is there any multicore exploiting NoSQL system?

Там нет способа для запроса во всех коллекциях в Монго. Это не имело бы большого смысла для этого. Сила MongoDB сосредоточена на тактическом денормализации данных в коллекциях. Предоставление операций для запросов во всех коллекциях выполняется в точности против концепции тактической денормализации.

В теории вы могли бы просто запустить 240 запросов. Но более вероятно, что вы, вероятно, закончите «разделение» ваших данных, чтобы вам нужно было только запрашивать некоторые из этих коллекций. На этом этапе вы вернетесь к ссылке, приведенной выше, что говорит о том, что, вероятно, ответ на этот вопрос может быть отброшен.

+0

В elasticsearch вы можете запрашивать несколько индексов, и это очень полезно, поэтому не думайте, что это общая вещь nosql. –

+0

Хорошо, я обновил формулировку. –