Это плохая идея использовать Google Search на вашем сайте?

11

Если у вас есть веб-приложение с большим количеством записей, плохая идея использовать Поиск Google на своем веб-сайте? Вместо того, чтобы писать функцию поиска и заниматься вопросами производительности, вы «переводите» функцию поиска в Google.

Джон Доу
источник
1
Это подводит меня к моему любопытству, не могли бы вы предоставить более подробную информацию по этому вопросу? потому что вы думаете, что это может быть плохой идеей? у вас больше документации заставит вас думать, что это плохая идея? Вы читали что-то, что заставило вас думать, что вы получите это?
RTOSkit
Привет @RTOSkit, я разработал несколько небольших веб-приложений, и функциональность поиска до сих пор остается одной из самых больших проблем. Я должен принимать во внимание точность результатов поиска, а также производительность сервера. Лично я не думаю, что это такая плохая идея, но несколько «неловкая», поскольку это единственная часть приложения, которая не разработана вами.
Джон Доу
Хорошо, я понимаю, @ JCL1178 предложил вам оптимальный ответ.
RTOSkit

Ответы:

3

Как JCL1178 упомянул в своем ответе, Google будет возвращать результаты только для того, что он проиндексировал. Это означает не только то, что некоторые из ваших результатов могут никогда не появиться, но и если по какой-либо причине ваш сайт когда-либо деиндексируется, вы потеряли результаты поиска с вашего веб-сайта. Наличие чего-то столь же важного, как поиск, зависит от неподдерживаемого стороннего сервиса, опасно.

Поскольку у вас есть прямой доступ к данным, вы можете обеспечить более качественный и более детальный поиск, чем Google или любая другая поисковая система. Вы можете разрешить пользователям выполнять поиск в определенных полях, отфильтровывая любые другие совпадения из несвязанных полей. У Google нет контекста с ценностями, которые он ищет, поэтому поиск по семейству «Смит» может привести к любым результатам для людей, живущих на «Смит-стрит». или кто-то с занятием "кузнец".

Большинство популярных реляционных баз данных имеют возможность выполнять полнотекстовый поиск, поэтому добавить базовую функцию поиска можно так же просто, как написать несколько операторов SQL.

Я использую Google Custom Search Engines для общего поиска на своих веб-сайтах, но я не буду использовать его для поиска информации, хранящейся в базе данных, если только у меня не было возможности выполнять полнотекстовый поиск (ограничения программного обеспечения, проблемы с производительностью из-за аппаратного обеспечения /). размер набора данных). Это зависит от того, насколько сложны ваши данные, и насколько важен поиск для навигации по вашим данным ... но предоставление ваших собственных средств поиска кажется мне самой безопасной ставкой.

Джейкоб Хьюм
источник
Все очень хорошие моменты, и я полностью упустил возможность деиндексации в своем ответе.
JCL1178
Привет @ Джейкоб Хьюм. Отличный момент, когда вы полагаетесь на сторонний сервис. Я тоже так думал. Я экспериментировал с полнотекстовым поиском, а также с различными поисковыми системами, но, как я упоминал в одном из моих комментариев, у меня всегда возникают проблемы с точностью результатов и / или производительностью сервера. Еще раз большое спасибо за ваш вклад.
Джон Доу
3
Таким образом, вместо того, чтобы 0,00001% -ный шанс поиска не работал (скорее всего, Google не собирается деиндексировать ваш сайт, если вы не сделаете что-то действительно глупое), вы предлагаете, чтобы сайт имел наивную реализацию полнотекстового поиска. 100% времени? Не хороший компромисс ИМО. Полнотекстовый поиск - очень полезная функция для быстрого доступа к основным функциям поиска, но создание полезной функции поиска, гораздо менее удобной для пользователя, чем у Google, немного сложнее, чем просто «написание нескольких операторов SQL».
Lèse Majesté
2
Реальные поисковые системы, такие как Google, Solr, Lucene, Sphinx и т. Д., Способны делать такие вещи, как взвешивание по ключевым словам, поиск по подстроке, расстояние по Левенштейну / метафон / словастеминг / нечеткий текстовый поиск и т. Д., Что значительно повышает удобство использования. Полнотекстовый поиск является хорошей отправной точкой, но на самом деле для создания достойной функции поиска, которая может последовательно возвращать релевантные результаты, требуется гораздо больше работы. Большинство разработчиков, которые не являются экспертами в области разработки поисковых систем, преуспели бы в использовании сторонних сервисов или, по крайней мере, проверенных готовых решений, таких как Lucene или Solr.
Lèse Majesté
2
Даже крупные компании, такие как Oracle, изо всех сил пытаются создать полезные внутрифирменные поиски (сравните поиск документации MySQL.com до и после поглощения Oracle). Кроме того, ваша характеристика поисковой системы Google больше подходит для полнотекстового поиска, разработанного собственными силами, чем поисковая система Google, которая на самом деле использует, вероятно, самые совершенные в отрасли алгоритмы эвристики и пользовательского прогнозирования.
Lèse Majesté
7

Для целей этого ответа я предполагаю, что вы говорите о пользовательском поиске Google / поиске по сайту, а не о Google Search Appliance, что было бы ОЧЕНЬ хорошей идеей, хотя и дорогой.

Аутсорсинг вашего поиска в Google Custom Search не является плохой идеей, но он может не совсем подходить для вашего сайта / бизнес-модели / независимо от ограничений и правил Google.

Пользовательский поиск - это то же самое, что вводить search terms site: yoursite.comв Google, за исключением того, что вам не нужно указывать site: yoursite.comчасть, и вы можете встроить поисковую форму на свой сайт. Поиск по сайту - это несвободная версия пользовательского поиска с большим количеством настроек и некоторым доступом к API. Существуют некоторые другие различия между пользовательским поиском / поиском по сайту и использованием самого Google, которые объясняются в связанной документации, но важно отметить, что они работают только с тем, что видит Google.

Таким образом, «множество записей» в вашем веб-приложении должно быть полностью оплачено Google, чтобы пользовательский поиск действительно мог давать точные результаты. Если вы по каким-либо причинам ограничиваете / защищаете записи от публичного просмотра, вам необходимо либо показать Google те же ограниченные результаты, которые увидит вышедший из системы пользователь, либо вы можете включить в индекс Google весь контент, но тогда вы должны соблюдать правила First Click Free. или рискнуть быть съеденным сердитой пандой. Если вы представляете одну вещь Google, а другую - посетителям, это Cloaking, и вы будете получать штраф за свой сайт. Если все записи, которые вы хотите включить в результаты поиска, по какой-либо причине не могут быть добавлены, тогда использование Google Custom Search или Site Search не является хорошей идеей для вашей конкретной модели.

Но если вы можете разрешить индексацию всего, вы не возражаете против того, как Google возвращает результаты поиска для пользовательского поиска (или не хотите платить за поиск по сайту, чтобы исправить это), и готовы рискнуть, если критическая страница не будет проиндексирована по любой причине, тогда вы можете и должны серьезно рассмотреть это.

JCL1178
источник
1

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

Если это закрытая система, и вы не хотите, чтобы другие видели данные, то приобретите собственную поисковую систему.

SIDH
источник