Pull to refresh

Comments 58

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

$q = preg_replace("/[^а-яА-Я\d\w\s]/iu", "", $q);

А как же кавычки? Как же ключевые + — в запросе?
C этим юникодом одни заморочки, блин!
UFO landed and left these words here
Видимо потому, что буква Ё имеет диакритические символы, расширяющие основной кириллический алфавит. А коды всех символов с диакритикой, надстрочными и подстрочными символами, специфичные для разных вариантов алфавитов кириллицы (как и в других алфавитах) обычно расположены после общеупотребительных символов.
UFO landed and left these words here
> Видимо потому, что буква Ё имеет диакритические символы, расширяющие основной кириллический алфавит

видимо, в большинстве кириллиц буква Й все-таки присутствует, в отличие от бухвы Ё
Нет, это даже не потому что Екатерина 2 ввела эту тупую букву, которой практически никто не пользуется на манер немецких буковок с точечками.
Проблемы с ней потому, что она по кодам символов не входит в диаппазон а-я, в котором все буквы идут по порядку возрастания их кодов.
UFO landed and left these words here
Если у вас там включен режим юникода то почему бы не использовать вместо \d \w \s эквиваленты для юникода \pN \pL \pZs (http://ru2.php.net/manual/en/regexp.reference.unicode.php) ну и с буквами возиться не придется.
P. S. Не вам а автору конечно :)
Не штудировал даже этот ман, надо будет ознакомиться, спасибо.
Что то не прийдет в голову символ, который может в итоге помешать запросу. Думаю яндекс сам отфильтрует что не нужно.
UFO landed and left these words here
Если на сайте есть Директ в результатах поиска — пожно попробовать договориться.
help.yandex.ru/xml/licence.xml п.1
UFO landed and left these words here
софт проверки позиций в Яндексе XML-кой кормите? ;)
UFO landed and left these words here
используйте Яндекс.Сервер. как вариант если хочется использовать их поиск без ограничений.
UFO landed and left these words here
За 1000, но не рублей и не в год можете купить у яндекса неограниченное кол-во запросов :) Одно время баловался покупал. Потом понял что смысла нет, Google «номер один» везде.
Гугл конечно №1, но в последнее время его тоже всякой гадостью замусорили, не всегда резулльтаты поиска радуют :( У гиганта и проблемы гигантские, что поделать

Кстати, ещё у Bing-а есть халявные поисковые интерфейсы (XML, JSON). Жаль, что сам бинг очень «зелёный»…
В этом случае можно попробовать воспользоваться site.yandex.ru, который специально для этого предназначен.
Настоящее ограничение количества запросов не применяется в отношении сайтов, подключенных к Рекламной сети Яндекса согласно договору с Яндексом, предусматривающему возможность использования Сервиса.

Для меня это новость. Я почему-то раньше думал что тут как у гугла для снятия ограничения нужно платить o_O Хотя чуть ниже говорят, что и за деньги можно

Хм, ещё один повод использовать Яндекс.Директ :) Спасибо автору, Вы мне раскрыли глаза )
Эту проблему можно решить: просто написать в саппорт (мыло можно найти в xml.yandex.ru) чтобы они увеличили тебе лимит, если это конечно необходимо.
Я уже словил

Limit exceed for 62.109.2.129

limit exceed
Ага, хабраэффект, однако =) Все хотят попробовать. Теперь только после полуночи по Москве можно будет снова безболезненно пользовать поиск.
Надо ставить sphinx, решение с яндексом имеет недостатки: неполная индексация, долгая индексация, лимит запросов.
Ищу хороший поиск по сайту, в данный момент использую яндекс.сервер, в связи с этим вопрос: sphinx умеет индексацию не по базе, а именно по сайту? Потому что есть просто html-страницы
Не умеет. Только по SQL. Тем и хорош.
И тем же, судя по всему, в некоторых ситуациях плох -(
Он умеет индексировать также и xml документы, коими являются правильные html страницы. Но вот непонятно зачем искать по страницам сайта, если они формируются из данных базы.
На дворе XXI век, а люди всё ещё пишут на чистом HTML?
Зачем?
Когда контент статичен, я бы спросил про бекенд: зачем?
Визитка, например. По ней поиск, конечно, не нужен, но «чистый HTML» тут — то, что надо.
С этим согласен.
Визитки/заглушки делаются статикой.
Но тогда при чем здесь поиск? :)
Спросите у Opera. Насколько помню, у них чистый html на бекендах…
Аналогично, используем sphinx очень удобное API, до этого аспсёрч использовали и яндекс.серч (не xml) со всеми вытекающими последствиями. А sphinx потихонечку себе подключается к slave mysql серверу и посасывает данные не нагружая систему.
Google csbe не анализировали в сравнении с яндыксом?
Нет, даже не знаком, надо будет погуглить
Толку от яндекс поиска если он не все страницы сайта индексирует.
Очень глючный поиск, долгое время отклика, не все страницы сайта в индексе, частое отсутствие релевантности в результатах, частые проблемы с кодировкой.

Часто так бывает, если результатов отвечающих запросу нет на сайте, выдаются левые сайты конкурентов.
Зачем отдавать свой траф конкурентам?

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

> Часто так бывает, если результатов отвечающих запросу нет на сайте, выдаются левые сайты конкурентов.
Зачем отдавать свой траф конкурентам?

А я все думал, что это с моей стороны где-то ошибка. Никак не мог понять почему в поиск лезут левые сайты…
Вообще есть еще поиск Quintura по сайту — affiliates.quintura.com/
Недостаток только один — надо подождать пока сайт проиндексится.

Плюс в том, что можно получить персональную помощь и настройки поиска от службы поддержки. Недавно для КТ сделали поиск по сайту — quintura.computerra.ru/ — по одному запросу можно поискать на каждом из сайтов КТ. Кстати так же можно сделать вкладки поиска по разным разделам одного сайта.

И да, я из Quintura, поэтому можете покидать в меня камни.
относительно жирных бидов, тут ты не прав.
Насколько я понимаю яха и гугл, всегда пытаются показать нормальную рекламу (подороже)
UFO landed and left these words here
Вообще-то нормальные вебмастера не ленятся делать нормальный поиск по своему сайту.
Решения со сторонними поисковыми машинами вообще считаю дикостью.
Во-первых не все страницы могут быть в индексе.
Во-вторых действительно сравнительно большое время отклика.
В-третьих это просто несолидно.
Собственно, об этом всём было сказано в комментариях выше.
Вы знаете, ничего не хочу сказать о поиске от Я и Г, но несолидным на мой взгляд получается как раз тот поиск, который сделали сами, не поленились, но им ничего невозможно найти. Было у меня как-то это на сайте МТС, у них свой поиск без учета словоформ сделан был (как сейчас — не знаю). Ну и толку от него?
Значит поленились. :)
Есть проекты, которым хватает и LIKE %keyword%, а есть и крупные системы, в которых такая халтура не прокатит.
Самое забавное, что делая поиск по первому варианту многие веб-студии пишут в смете «модуль поиска» и умудряются содрать с несчастного клиента за это дополнительные деньги. Порой, немалые.

И всё равно поиск на основе я.xml кажется мне одним большим костылём.
Можно привести огромный список больших и успешных интернет-проектов, которые используют для поиска по сайту G,Y и Q. Имея на то свои резоны и избавляясь от головной боли.

И тут приходит Quiz и авторитетно обвиняет их в лени и дикости.
Не очень понятно, зачем обрабатывать поисковую строку, тем более таки «ущербным регекспом», если яндекс и так все это делает.
2е непотно, зачем вырезать, что-то из xml ести можно просто не обрабатывать этот елемент в xsl.

Вобщем слабая статья и не точная статья, скорее расчитана на совсем на новичков, а не опытных(как вы сказали) программистов.
Сейчас объясню:

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

2. Я не могу не обрабатывать параметр «query» в XSL, он мне нужен, но в другом виде, нежели он приходит из XML. Эта строчка нужна больше для красоты, можно сделать и по-другому.

3. Вы, yellow_duck, видимо не внимательно ознакомились с этой статьей, ведь в ней я не упоминал словов «опытный программист», поэтому ваши обвинения безосновательны.
два года работал у меня поиск через Yandex.XML
в один момент перестал…
дампы входящего xml показали что он выдает страницы с других доменов( которые слава богу я прибивал)

суть в том что я писал как и написано в хелпе & lt ;& lt; host=& quot ;yoursite.ru& quot ; а теперь ( почему-то? ) писать << host=\«yoursite.ru\»
Для поиска на сайте я бы предпочёл гугл т.к. гугл индексирует больше страниц и быстрее. Тоесть добавляем материал на сайт, в поиске от гугл он становится доступен через сутки, в поиске от яндекс до месяца (по крайней мере на такие сроки ориентируются SEO конторы) и у яндекса, как правило меньше шансов, что страница будет проиндексирована вообще, тоесть часть контента будет недоступна для поиска.
Зачем использовать Яндекс.Xml? Яндекс.xml накладывает серьёзные ограничения на работу поиска: лимит запросов, использование стороннего сервиса… Если вы так любите Яндекс, то используйте Яндекс.Сервер!
Ну и что это такое? Парсить XML, когда наши корабли бороздят просторы вселенной? Почему не сделать апи?
Я уже давно сделал App для django, который работает с гугловым API, вот только очень жаль, что новых ключей они(гугл) уже не выдают.
Only those users with full accounts are able to leave comments. Log in, please.