Как добавить индексы в проект mongoDB с помощью фреймворка Morphia

Я работаю над проектом gwt, который использует mongoDB в качестве базы данных и структуру morphia для работы с mongodb.

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

Я просмотрел документацию по morphia и увидел, что у нее есть @Indexed, который делает это, но я не знаю, как на самом деле использовать индекс в поиске. Морфия будет автоматически использовать индекс?

У кого-нибудь есть хороший пример индекса в реальном проекте? (примеры hello world на сайте mongodb не очень помогают)

== ИЗМЕНИТЬ ==

Рекомендуется ли вставлять индекс только во встроенные поля?


person Raduan Santos    schedule 22.09.2011    source источник
comment
да, mongodb будет автоматически использовать индексы при запросе этих свойств.   -  person gkamal    schedule 22.09.2011
comment
спасибо за ответ, это объясняет большую часть моих сомнений   -  person Raduan Santos    schedule 22.09.2011


Ответы (1)


Mongodb будет автоматически использовать индексы, чтобы morphia не обрабатывала их. Вы должны индексировать поля, которые вы обычно используете для запросов, например:

Почта:

{
    title : "My title", // indexed
    content : "My long long long long loooooong content" // Not indexed
}

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

Я предлагаю вам прочитать ссылку на индексы.

person FlaPer87    schedule 23.09.2011