Механизм приложений Google: насколько эффективен перспективный поиск для реальных приложений? - PullRequest
1 голос
/ 01 августа 2011

Движок приложения Google уже имеет Проспективный поиск в своей экспериментальной функции, по крайней мере, для Python. Чем этот предполагаемый поиск отличается от доступных в настоящее время альтернатив полнотекстового движка? Насколько это эффективно для реального веб-приложения, скажем, поиска продукта.

текущие альтернативы полного текста:

  1. Решение Билла Каца
  2. Решение на основе Django
  3. gae-text-search, другое решение на основе Python

Ответы [ 2 ]

10 голосов
/ 22 августа 2011

@ Гагандип Сингх: аналогия с «tail -f |grep 'является разумным, однако важно помнить, что система перспективного поиска AppEngine поддерживает несколько полей и несколько типов (целое число, число с плавающей запятой и текст) и, следовательно, будет немного трудно скопировать с помощью grep.

@ Chris Farmiloe: Проспективный поиск - это НЕ API уведомлений, так же как любой другой API поиска не является API уведомлений.Конечно, вы можете внедрить систему уведомлений, используя Проспективный поиск, но «Уведомление» - это обычно то, что генерируется в результате обнаружения совпадения, а не в результате самого совпадения.Система «Уведомления» будет делать такие вещи, как отправка мгновенных сообщений, SMS, сообщений XMPP или что-то в этом родеПроспективный поиск не делает ничего из этого - но все это легко добавить.

@ Ник Джохсон: Да, причина, по которой я назвал его «Проспективный поиск», заключается в том, что предполагаемые запросы совпадают с поступающими документами после формируется запрос.Таким образом, предполагаемые запросы являются прогнозными или «предполагаемыми».Это обратная сторона традиционной «ретроспективной» поисковой системы (типичная поисковая система в Интернете или система баз данных), в которой запросы соответствуют документам, которые поступили и были проиндексированы до запроса.Ретроспективная поисковая система индексирует документы, записи или пакеты атрибутов, которые впоследствии сопоставляются с запросами.Перспективная поисковая система индексирует запросы, которые впоследствии сопоставляются с документами или пакетами атрибутов.Эти два режима поиска являются фундаментальными, обратными друг другу и дополнительными.Почти везде, где у вас есть приложение для традиционного ретроспективного поиска, вы найдете приложение для перспективного поиска.

@ Дрю Сирс: Обратите внимание, что система перспективного поиска AppEngine является такой же «полнотекстовой» поисковой системой, какой может быть любая ретроспективная система.Проспективный поиск соответствует логическим комбинациям слов, фраз и чисел - так же, как вы ожидаете в том, что вы традиционно называете «полнотекстовой» системой.Разница не в том, выполняется ли поиск по полному тексту, а в том, является ли этот поиск перспективным или ретроспективным.

9 голосов
/ 01 августа 2011

Предполагаемый поиск в основном эквивалентен App Engine tail -f | grep.Вместо того чтобы запускать запрос один раз для статического набора документов, пользователи подписываются на набор запросов, а вновь созданные документы сопоставляются с открытыми запросами.В случае совпадения задача ставится в очередь, и внутри задачи вы можете использовать API канала для обновления браузера пользователя новыми результатами запроса.

Перспективный поиск не имеет ничего общего с полнотекстовым поиском.В работах для App Engine рассматривается полнотекстовый API, который обсуждается в этом докладе Google I / O:

http://www.google.com/events/io/2011/sessions/full-text-search.html

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