Lucene.NET + Azure + AzureDirectory или что-то еще? - PullRequest
5 голосов
/ 29 декабря 2010

Доброе утро.

В настоящее время я работаю над проектом, который первоначально планировалось разместить на физическом сервере с SQL2k8R2, но похоже, что мы движемся к облаку и Azure ... Поскольку SQLAzure в настоящее время не поддерживает полнотекстовое индексирование, я искал Lucene.NET с проектом AzureDirectory для внутреннего хранилища.То, как это будет работать, заключается в том, что обновления приходят и ставятся в очередь.после обработки они будут помещены в очередь ToIndex, которая начнет индексацию Lucene.NET.Мне просто интересно, есть ли лучший способ сделать это?Нам не нужно , чтобы использовать Azure для этого проекта, поэтому, если где-то найдется лучшее решение, сообщите нам ... основное требование к хостингу - это в Европе ... (Центры обработки данных Azure и Amazon вДублин удобен, RackSpace в США не так удобен).

Спасибо.

Ответы [ 3 ]

1 голос
/ 30 декабря 2010

Я не использовал этот проект, но он выглядит многообещающе. Из того, что я понимаю, основная проблема заключается в том, что Lucene требует файловую систему. Я вижу 2 других возможных решения (в основном просто делаю то, что делает библиотека):

  1. Использование хранилища дисков Azure и рабочей роли
  2. Использовать хранилище на диске, но использовать виртуальную машину (если есть проблемы с конфигурацией при использовании рабочей роли)

http://go.microsoft.com/?linkid=9710117

SQLite также имеет полнотекстовый поиск, но имеет ту же самую основную проблему - ему требуется файловая система: http://www.sqlite.org/fts3.html

0 голосов
/ 10 октября 2012

Вы можете разместить его на веб-сайте Azure, если ваш индекс Lucene меньше 1 ГБ.

Я сделал это недавно, когда переписал Попросите Джона Скита разместить его на отдельном веб-сайте Azure. Он использует WebBackgrounder для опроса API Stackoverflow на предмет изменений перед обновлением индекса Lucene.

0 голосов
/ 30 декабря 2010

У меня есть для вас другое решение, но оно более радикальное и концептуальное.

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

...