Какое развертывание лучше всего подходит для поиска" нравится " в MVC / Azure


Я использую MVC3 в Azure, мне нравится иметь" подобный " вид поиска, например, http://msdn.microsoft.com/en-us/library/ms179859.aspx

Первый вопрос: поддерживает ли Lucene поиск" like ", я пытался задать этот вопрос в Google, но очень трудно найти слово "like" без получения результата типа: Мне нравится использовать Lucene:)

Во-вторых: какую производительность я могу получить для использования SQL Azure для поиска" like " , имея только id(int) в качестве ключа и текст (string (100)) для поиска "нравится" и строк около 10 миллионов. Я пытался, кажется, не может работать, всегда тайм-аут. Или вы можете ответить на вопрос следующим образом: я знаю, что есть способ улучшить поиск "like" в SQL Azure.

3-й вопрос: есть ли какой-либо другой продукт, который хорошо работает с платформой Azure, может поддерживать поиск" like " с разумной производительностью (менее 2 секунд для приведенного выше примера базы данных)

Спасибо.

3 2

3 ответа:

SQL Azure не поддерживает полнотекстовое индексирование, поэтому "LIKE"ограничивается оператором ANSI SQL. Этого совершенно недостаточно для общего поиска. В общем, в облаке (Azure) вы все равно хотите избежать использования SQL для поиска - это неподходящее место для него с точки зрения масштабируемости.

Как вы предлагаете, поисковая система на основе lucene-это путь, но я бы рекомендовал использовать Solr (сервер Apache/Java lucene). Solr по-прежнему можно разместить в Azure, и вы найдете гораздо больше поддержка сообщества, документация и помощь в этом.

Lucene поддерживает LIKE search и есть библиотека, специфичная для Lucene.NET это позволяет использовать хранилище Azure для индекса Lucene. Это позволяет обеспечить отказоустойчивый индекс Lucene, который будет хорошо масштабироваться в облаке.

Http://code.msdn.microsoft.com/windowsazure/Azure-Library-for-83562538

Solr-хороший вариант, но вам придется управлять хранилищем индекса самостоятельно, если вы не расширите Solr для запуска в хранилище Azure самостоятельно.

Возможно, вы захотите изучить реализацию Solr в Azure. Здесь есть хорошая запись с демо и учебниками:

Http://wiki.apache.org/solr/SolrOnWindowsAzure