Сепаратор ( _ ) в поисковом механизме Википедии
|
Weasel5 05/09/11 08:27 AM |
|
Допустим, я хочу воспользоваться на панели поиска браузера русской Википедией. В search.ini она настроена так:
В ответ на:
[Search Engine 4] UNIQUEID=AE41FF7A5FC011DDAE47DBEF55D89593 Name=Ru-Wikipedia Verbtext=0 URL=http://ru.wikipedia.org/wiki/%s Suggest Protocol=JSON Suggest URL=http://ru.wikipedia.org/w/api.php?action=opensearch&search={SearchTerm}&format=json Query= Key=w Is post=0 UseTLD=0 Has endseparator=0 Encoding=utf-8 Search Type=0 Position=-1 Nameid=0 Deleted=0
Если я ввожу запрос из одного слова, то всё нормально. Однако если я ввожу запрос более чем из одного слова, через пробел, то браузер не может распознать этот пробел как пробел или знак "_", а преобразует его в знак "+".
Ну то есть, если я пишу: "Термоядерный реактор", то Опера перенаправляет меня на страницу: _//ru.wikipedia.org/wiki/Термоядерный+реактор_
Естественно, нерабочую. Приходится вынужденно писать слова через сепаратор ("Термоядерный_реактор").
Такая же фигня наблюдается и с английской Википедией, и с некоторыми другими поисковыми механизмами. Причём я уже года два-три так ухищряюсь. И не могу понять - то ли этот очевиднейший баг до сих пор не исправили, то ли его можно исправить настройками очевиднейшим способом. Но как???
Спасибо за помощь.
|
Re: Сепаратор ( _ ) в поисковом механизме Википедии
|
Weasel5 05/09/11 04:19 PM |
|
Не могу понять: чего стоит разработчикам приделать при наборе слов в поисковой панели автозамену пробелов на подчёркивания? Придумать фикс проще, по-моему, просто невозможно. А если такая автозамена может в каких-то других поисковых системах мешать - так сделать в search.ini регулируемую настройку с функциями вкл./выкл.
Но уж несколько лет как воз и ныне там...
|
Re: Сепаратор ( _ ) в поисковом механизме Википедии
|
Victor 05/09/11 05:50 PM |
|
А здесь _//www.opera.com/support/bugs/_ сообщали? без баг-отчета все наши разговоры на форуме - пустое сотрясение воздуха. И с другой стороны: приходилось встречать самодельные "поиски" сделанные на Javascript, сейчас уже, правда, не вспомню где видел. Возможно, решение вашего вопроса интересно для крайне малого количества пользователей, другие в это "не упираются", потому ваши "страдания" безответны.
|
Re: Сепаратор ( _ ) в поисковом механизме Википедии
|
Weasel5 05/09/11 05:57 PM |
|
Мне как-то слегка лень писать описание ошибки на английском. К тому же я был совершенно уверен, что она всем известна, ибо сверхочевидна.
|
Re: Сепаратор ( _ ) в поисковом механизме Википедии
|
Victor 05/09/11 06:47 PM |
|
В ответ на: Мне как-то слегка лень
Под лежачий камень вода не течет...
|
Re: Сепаратор ( _ ) в поисковом механизме Википедии
|
Victor 05/09/11 07:01 PM |
|
Может быть вот такие формы поисков Вам помогут?
В ответ на: [Search Engine 6]
UNIQUEID=AE41FF7A5FC011DDAE47DBEF55D89593
Name=WikipediaEn
Verbtext=0
URL=http://en.wikipedia.org/wiki/Special:Search?search=%s
Query=
Key=we
Is post=0
UseTLD=0
Has endseparator=0
Encoding=utf-8
Search Type=0
Position=-1
Nameid=0
Deleted=0
В ответ на: [Search Engine 9]
UNIQUEID=EB376920D6EEB44C82933FA22A709233
Name=Википедия РУ
Verbtext=0
URL=http://ru.wikipedia.org/wiki/Служебная:Search?search=%s&go=
Query=
Key=ц
Is post=0
UseTLD=0
Has endseparator=0
Encoding=utf-8
Search Type=0
Position=-1
Nameid=0
Deleted=0
В ответ на: [Search Engine 10]
UNIQUEID=B23F82F22D76C6478C529000BBFDF78B
Name=Wikipedia RU
Verbtext=0
URL=http://ru.wikipedia.org/wiki/Служебная:Search?search=%s&go=
Query=
Key=w
Is post=0
UseTLD=0
Has endseparator=0
Encoding=utf-8
Search Type=0
Position=-1
Nameid=0
Deleted=0
Хотя, пожалуй, UNIQUEID= лучше оставить пустым.
|
Re: Сепаратор ( _ ) в поисковом механизме Википедии
|
Weasel5 05/10/11 11:46 PM |
|
Спасибо, Victor. Я так понял, всё дело в строчках:
URL=http://en.wikipedia.org/wiki/Special:Search?search=%s URL=http://ru.wikipedia.org/wiki/Служебная:Search?search=%s&go=
Проведём эксперимент. Возьмём эти URL и забьём их в браузер (неважно какой). При этом заменим символы %s на слово "Термоядерный+реактор" или, для английской, скажем, "Big+Bang". И - всё работает! Ссылки корректно перенаправляются!
Теперь забьём те же самые слова c плюсиками вместо %s в URL'ах вида как у меня в search.ini:
URL=http://ru.wikipedia.org/wiki/%s URL=http://en.wikipedia.org/wiki/%s
Не работает, как и следовало ожидать.
Так что ключ к решению проблемы, по-видимому, найден. Когда я в следующий раз перезапущу Оперу и поменяю настройки, о результатах сообщу дополнительно.
Кстати, подскажите, за что отвечает параметр UNIQUEID= ? А также вот эти странные строчки в search.ini:
Suggest Protocol=JSON Suggest URL=http://ru.wikipedia.org/w/api.php?action=opensearch&search={SearchTerm}&format=json
|
Re: Сепаратор ( _ ) в поисковом механизме Википедии
|
Weasel5 05/11/11 12:31 AM |
|
Проверено - проблема решена.
|
Re: Сепаратор ( _ ) в поисковом механизме Википедии
|
Victor 05/11/11 02:36 AM |
|
В ответ на: за что отвечает параметр UNIQUEID= ? А также вот эти странные строчки...
Не могу ответить, не изучал эту тему. Может быть Вы сами что-то раскопаете, во всяком случае: UNIQUEID= UNIQUE ID -как бы "уникальный идентификатор", или нет?
|
Re: Сепаратор ( _ ) в поисковом механизме Википедии
|
Weasel5 05/11/11 05:31 AM |
|
Вообще-то да. Можно предположить, что Опера, присваивая каждому пользователю ID и сливая эту информацию себе на сервер, таким образом шпионит за индивидуальными предпочтениями каждого пользователя, что очень нехорошо, конечно. Рефссылки с партнёрскими ресурсами-то они точно используют, что прекрасно видно в том же search.ini:
URL=http://www.ozon.ru/?context=search&text=%s&partner=operacom URL=http://go.mail.ru/search?q=%s&fr=opr10 URL=http://www.softportal.com/search.html?str=%s&go=1&referer=operasearch
С другой стороны, кто-то же должен платить разработчикам, конечно. Не благотворительность.
|
Re: Сепаратор ( _ ) в поисковом механизме Википедии
|
Victor 05/11/11 10:57 AM |
|
В ответ на: сливая эту информацию себе на сервер, таким образом шпионит
тут вероятно заблуждение. Обратите снимание, что у Вас, что у меня UNIQUEID - одинаковый для поиска на википедии. Нелогично!
|
Re: Сепаратор ( _ ) в поисковом механизме Википедии
|
Ilya 05/16/11 06:35 AM |
|
UNIQUEID используется при синхронизации и при добавлении-удалении поисковиков. Ведь у пользователя может быть множество поисков от Google, от Yandex и т.д.
|
Re: Сепаратор ( _ ) в поисковом механизме Википедии
|
Eismann 05/23/11 11:42 AM |
|
В ответ на: Не могу понять: чего стоит разработчикам приделать при наборе слов в поисковой панели автозамену пробелов на подчёркивания?
Не все воспринимают подчеркивания. Кроме того (что весомее) строка в первую очередь предназначена для передачи как параметр GET или POST запроса, и требует точный повтор введенного текста.
В ответ на: Suggest Protocol=JSON Suggest URL
Это для протокола подсказок, которые вылезают при наборе поисковой строки
|
Re: Сепаратор ( _ ) в поисковом механизме Википедии
|
lincoln14 05/27/11 02:22 PM |
|
А зачем вообще копаться в ручную в файлвх? Что мешает просто открыть главную страницу Википедии (или любую другую), правая кнопка мыши на поисковой форме - создать поиск? Созданный поиск будет работать корректно, а старый можно удалить.
|
Re: Сепаратор ( _ ) в поисковом механизме Википедии
|
Arioch 06/08/11 11:29 AM |
|
...ну ращработчикам много на какие мелкие баги плевать.
Нарпимер с 8 что ли версии тянется неправлиьное распознавание лент новостей на движках LiveJournal.com - баг репорт отправлял, на форумах шумел - без толку. Хотя исправление вроде тоже элементарно, но зачем его делать? :-)
|