Создание распределенного индекса в Azure и Lucene.NET. Должен ли я изучать Solr и Hadoop?

Мне нужно, чтобы мои поисковые индексы основывались на реализации Azure/Lucene.NET. При этом у меня мало знаний о Solr и Hadoop или о том, что они предлагают пользователям Linux.

Поскольку я не знаю, что мне предстоит узнать, я скажу вам, что я ищу, и, возможно, вы сможете сказать мне, как я должен проводить свое время.

Я заинтересован в индексировании постоянно растущей партии электронных писем из нашей системы. Когда сообщения отправляются или принимаются, они должны быть доступны для поиска. Это означает, что индексы могут стать огромными, и именно поэтому мы рассматриваем облачное хранилище. Учитывая, что я знаком с Azure, руководство предлагает использовать Lucene.NET.

Как вы думаете, на что мне лучше всего потратить свое время: изучить, как заставить Lucene.NET индексировать мои документы, или посмотреть на реализацию Solr/Hadoop для того же самого.


person TLDR    schedule 13.08.2010    source источник


Ответы (2)


Не зная масштаба вашего исходного корпуса (мы работаем с несколькими ТБ в приложении почти реального времени), я могу поделиться некоторыми из нашего опыта. В первую очередь мы являемся магазином .NET, и мы обнаружили, что использовать Solr довольно просто, используя такие инструменты, как SolrNet, и очень легко учиться для наших разработчиков.

Преимуществ использования Solr множество: от очевидных, таких как фасетирование, простой и гибкий API, если он вам нужен и т. д.; к тому факту, что у него гораздо более активное сообщество и самые последние и лучшие функции и исправления (cf. Lucene.net). Важно отметить, что мы могли бы легко линейно масштабироваться, используя Solr с обычными машинами (извините, я не могу провести сравнение в долларах с использованием облака), но, учитывая (почти нулевую) стоимость машин, которые мы используем для наших сегментов, я не могу представить себе использование Azure или AWS будет дешевле.

Надеюсь, это поможет.

person Mikos    schedule 13.08.2010
comment
Если кому-то нужно знать, что означает cf (я только что посмотрел): en.wikipedia.org/wiki /Ср. - person halfbit; 15.08.2010

Если вы можете общаться со своими индексными машинами через HTTP, я бы посоветовал вам использовать Solr. Вы можете довольно легко настроить сервер Solr без какого-либо программирования, просто изменив файлы конфигурации. Он может хорошо масштабироваться, см.: Масштабирование Люсен и Солр. В настоящее время разрабатывается Solr Cloud, что упростит масштабирование Solr и поддержит некоторые функции, подобные Hadoop. .

person Yuval F    schedule 15.08.2010