Почему Google не предлагает частичный поиск? Это потому, что индекс будет слишком большим? - PullRequest
28 голосов
/ 02 декабря 2009

Google / GMail / и т.д.. не предлагает частичный или префиксный поиск (например, материал *), хотя это может быть очень полезно. Часто я не нахожу почту в GMail, потому что не помню точное выражение.

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

Почему Google не добавляет такую ​​функцию? Это потому, что индекс взорвется? Но базы данных предлагают частичный поиск, поэтому, несомненно, есть хорошие алгоритмы для решения этой проблемы.

В чем здесь проблема?

Ответы [ 6 ]

8 голосов
/ 03 декабря 2009

Google выполняет поиск неполных слов. Gmail не все же. Поскольку вы спрашиваете, в чем здесь проблема, мой ответ - отсутствие усилий. Эта проблема имеет решение, которое позволяет осуществлять поиск в постоянном времени и линейном пространстве, но не очень удобно для кэша: деревья суффиксов. Суффиксные массивы - это еще один вариант, который более кеширует и все еще экономит время.

7 голосов
/ 02 декабря 2009

Google на самом деле не хранит текст, который он ищет. Здесь хранятся поисковые термины, ссылки на страницу и где на странице существует термин. Эта структура данных индексируется в традиционном смысле базы данных. Держу пари, что использование подстановочных знаков сделает индекс индекса довольно медленным и, как говорит Developer Art, не очень полезным.

5 голосов
/ 24 августа 2015

Это возможно через Google Docs - следуйте этой статье:

http://www.labnol.org/internet/advanced-gmail-search/21623/

3 голосов
/ 02 декабря 2009

Поиск кода Google может выполнять поиск по регулярным выражениям, поэтому они знают, как это сделать. Конечно, объем данных, которые Code Search должен индексировать, ничтожен по сравнению с поиском в Интернете. Использование регулярного выражения или поиска по шаблону в веб-поиске увеличит размер индекса и снизит производительность до непрактичных уровней.

0 голосов
/ 02 декабря 2009

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

0 голосов
/ 02 декабря 2009

Потому что вы не можете понять, что подразумевается под автомобилем *:

Автомобили? Ковры? Морковь?

Алгоритмы Google сравнивают тексты документов, а также внешние входящие ссылки, чтобы определить, о чем идет речь. С этими символами подстановки все эти алгоритмы превращаются в мусор

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