Могу ли я использовать Solr вместо MongoDB? - PullRequest
3 голосов
/ 24 февраля 2012

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

Например, вместо этого используются операции фасетирования и подсчетаmapreduce, число циклов или $ inc в MongoDB.

Solr называется решением "поиска", но, как я уже сказал, оно больше похоже на решение "db".

Я "запутался" сПерекрытие между Solr и db solution.

Любой совет от кого-то, кто использует его аналогично, в производстве?

спасибо, Синиша

Ответы [ 2 ]

0 голосов
/ 29 июля 2012

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

Конечно, можно настроить SOLR DIH для импорта из mongo, но зачем создавать дополнительную работу для себя?Просто опубликуйте свою информацию в SOLR в соответствии с примером кода.Дайте мне знать, если у вас есть дополнительные вопросы.

0 голосов
/ 25 февраля 2012

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

Solr не поддерживает «вложенные» типы данных, как это делает mongoDB.Например, в базе данных документов вы можете иметь:

{
  id: 123,
  title: "cat toy stores",
  stores: [
    {
      name: "cats'n'stuff",
      address: "123 cat street"
    },
    {
      name: "the catteria",
      address: "321 tail lane"
    }
  ]
}

Но Solr, хотя Solr поддерживает многозначные поля, не может представлять связь между name и address, поэтому, если это поля дляс данной сущностью вы получите что-то вроде:

{
  id: 123,
  title: "cat toy stores",
  store-names: [
    name: "cats'n'stuff",
    name: "the catteria"
  ],
  store-addresses: [
    address: "123 cat street",
    address: "321 tail lane"
  ],
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...