Подсказки в поисковой строке в Opera для Google и других

    Как вы уже возможно знаете, Opera в версии 10.60 начала поддерживать поисковые подсказки. Правда, пока сходу они показываются только для Bing и Wikipedia. Однако довольно легко можно подружить Оперу с Гуглом (и некоторыми другими).




    Готовое решение:

    • Делаем копию поиска Гугла (лично у меня не получилось заставить подсказывать существующий поиск). Для этого: заходим в Настройки->Поиск, заходим в редактирование Google, копируем содержимое поля Адрес, отменяем; создаём новый поиск, вставляя в поле Адрес скопированный текст.
      Альтернативный вариант: просто идём на google.com и создаём новый поиск (ПКМ по полю ввода, Создать поиск). UPD: второй вариант нежелательный, так как не сохраняет партнёрский идентификатор Opera при поиске.
    • Закрываем Оперу. Ждём пока она пропадёт из процессов (лично у меня закрывается довольно долго).
    • Идём в папку профиля Оперы (если не знаете, где она, предварительно гляньте в конфиге: opera:config#Opera%20Directory).
    • Бекапим search.ini (на всякий случай) и открываем его на редактирование. UPD: используйте только хороший UTF-8 редактор, например Notepad++. Не используйте блокнот windows!
    • Ищем в нём созданный поиск Google (он будет в конце). В конце секции этого поиска добавляем строки:
      Suggest Protocol=JSON
      Suggest URL=http://suggestqueries.google.com/complete/search?json&q={SearchTerm}

    • UPD: Если вы дублировали поиск, обязательно проверьте блок созданного поиска на наличие Encoding=koi8-r
      Если встречается, замените на Encoding=utf-8
    • Сохраняем, запускаем Оперу, пробуем и наслаждаемся.
    • Удаляем старый поиск Google, если он больше не нужен.

    Вариантов в подсказке будет только 3, это увеличить нельзя (пока).

    UPD: просьба для блага компании Opera сохранять в поисковых ссылках партнёрские идентификаторы (например, для Google это компонент sourceid=opera). Проще говоря, создавая новые поиски, берите URL поиска из существующих (стандартных).

    Адреса для подсказок по другим поискам (взято с форума оперы, я тестил только Youtube):

    Youtube: http://www.google.ru/complete/search?hl=ru&ds=yt&output=firefox&q={SearchTerm} 
    Google Images: http://www.google.ru/complete/search?hl=ru&ds=i&output=firefox&q={SearchTerm} 
    Wikipedia (rus): http://ru.wikipedia.org/w/api.php?action=opensearch&search={SearchTerm}&format=json 
    Яндекс: http://suggest.yandex.ru/suggest-sl?&part={SearchTerm} 
    Яндекс.Словари: http://suggest-slovari.yandex.ru/suggest-sl?&part={SearchTerm} 
    Яндекс.Маркет: http://suggest.market.yandex.ru/suggest-market?part={SearchTerm} 
    Яндекс.Видео: http://sitesuggest.yandex.ru/suggest-ya.cgi?site=video&part={SearchTerm} 
    NIGMA: http://cplt2.nigma.ru/complete/query_help.php?suggest=true&q={SearchTerm} 
    Bing: http://api.bing.net/osjson.aspx?Query={SearchTerm}&FORM=OPERAS&Market=ru-ru
    Яндекс.Картинки: http://suggest-images.yandex.ru/suggest-img?&part={SearchTerm}


    UPD:
    добавлены Яндекс.Картинки, спасибо DS2902
    сообщают, что работают все подсказки, кроме Bing-ru.

    UPD2:
    Как оказалось, автор вышеупомянутого источника на форумах Оперы также писал в песочницу. Поскольку им проделана немалая работа по сбору нужных URLов, предлагаю дать ему инвайт.
    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 68
    • +4
      Поисковые фразы зачетные
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          попалось 3 одинаковых, не так интересно. следующие подсказки были веселее, типа «почему я такая дура»
          • 0
            Обратил внимание, что набор из трёх выползающих поисковых подсказок иногда разный даже на один и тот же запрос. Попробовав несколько раз подряд, можно увидеть и другие варианты. Возможно из списка подсказок, выдаваемых поисковиком, сама Опера выбирает рандомно 3 штуки.
          • 0
            Youtube: hтtp://www.google.ru/complete/search?hl=ru&ds=yt&output=firefox&q={SearchTerm}
            Google Images: hтtp://www.google.ru/complete/search?hl=ru&ds=i&output=firefox&q={SearchTerm}

            Почему там есть слово firefox, если
            UPD: просьба для блага компании Opera сохранять в поисковых ссылках партнёрские идентификаторы


            • 0
              Насколько я понимаю, речь шла именно о УРЛах поиска, а не о УРЛах подсказок.
              В любом случае, в этих ссылках нельзя вставить opera: подсказки выдаются правильно, только если указан firefox или chrome (насколько я понял).
          • –1
            Джва года ждал такой функции!
            • 0
              Жаль что работает только в посковой плашке с выпадающем меню (в статической где только гугл — нет), и если много поисков установлено то закрывает пол страницы.
              • +4
                Можете искать через адресную строку (g почему). Он как раз очень компактен.
                Если лень переключать раскладку — можно создать ещё один поиск, с кейвордом «г» или «п».
                • 0
                  Через адресную можно искать даже без ввода «g», единственное — нельзя использовать некоторые символы, например, точку.
                  • 0
                    >Через адресную можно искать даже без ввода «g»
                    это итак очевидно. просто в таком режиме автодополнение не работает.
            • 0
              > лично у меня не получилось заставить подсказывать существующий поиск
              для этого нужно дописывать в %opera%\locale\ru\search.ini
              • +1
                Кстати из поиска на экспресс-панели и адресной строки (g почему) тоже работает
                • 0
                  действительно, так работает.
                  у меня просто уже была запись гугла в search.ini в профиле, и я решил, что используется именно она. а оно как-то хитрее работает.
                • 0
                  Спасибо. Всё работает.
                  • 0
                    Я даже не знал что начала поддерживать) Переносите в тематический блог (:
                    • 0
                      Я бы с радостью, но кармы не хватит. Я тут новенький.
                      • +6
                        Уже хватает — перенёс в тематический блог.
                    • 0
                      В строке адреса работает?
                      • +2
                        Работает, даже лучше смотрится. Пишут, что и из speed dial работает, но я не пробовал.
                        • +1
                          Спасибо, значит нужно и себе сделать
                      • +3
                        >Закрываем Оперу. Ждём пока она пропадёт из процессов (лично у меня закрывается довольно долго).

                        Лучшие собаководы рекомендуют ежедневно дефрагментировать папочку оперного профиля vps (содержащую индекс для поиска по содержимому посещённых страниц) и перезапускать „Оперу“ как минимум не реже того.

                        Почему они на протяжении нескольких релизов используют этот ужасный формат, скорее всего, являющийся велосипедом собственной сборки, и не переходят, скажем, на какое-то готовое лёгкое хранилище…
                        • –1
                          Это индексирование можно вообще отключить?
                          • 0
                            Если бы для этого не было галочки в GUI, я бы ответил на ваш вопрос.
                        • 0
                          Супер, спасибо, не знал, что такое возможно :)
                          • +1
                            А ну как хакеры, кто первый найдёт в exe-шнике нужный байт и переправит 3 на 5, хотя бы? ;)
                            • НЛО прилетело и опубликовало эту надпись здесь
                            • +1
                              ubutnu 9.10
                              Opera Version 10.70
                              Build 6396
                              Platform Linux
                              System i686, 2.6.32-24-generic

                              Правда ведь я не дурак и у остальных тоже не работает?
                              • 0
                                в адресной строке работает, а вот в виджетах нет
                                • 0
                                  > в адресной строке работает, а вот в виджетах нет

                                  У меня в Linux в домашней папке юзера есть два оперных профиля: один в каталоге .opera, а другой в каталоге .opera_widget_manager. Структура и состав второго довольно похож на первый.
                                  Может просто попробовать скопировать search.ini из одного профиля в другой?
                                • 0
                                  > Правда ведь я не дурак и у остальных тоже не работает?

                                  А у меня работает:

                                  Opera Google search suggest

                                  Ubuntu 10.04, x86-64, Opera 10.60 (build 6386)
                                  • 0
                                    а. Я дурак. Не правильно понял как работает)
                                    • +1
                                      > а. Я дурак.

                                      Т.е. скриншот я правильный подобрал? ;)
                                      • 0
                                        да. Я привык искать просто ctrl+t %тело запроса% а про обозначение поисковика забыл)
                                • 0
                                  > Бекапим search.ini (на всякий случай) и открываем его на редактирование.

                                  Следует упомянуть, что при редактировании любых конфиг-файлов Оперы следует использовать вменяемый текстовый редактор, умеющий сохрянять файлы в кодировке UTF-8. А если редактировать конфиги каким-нибудь корявым текстовым редактором типа виндового Notepad, который сохранит результат, например, в кодировке Windows-1251, то потом с таким конфигом возможны проблемы.
                                • 0
                                  > Делаем копию поиска Гугла (лично у меня не получилось заставить подсказывать существующий поиск).

                                  Я не знаю, как организован профиль Оперы в Windows, но в Linux-версии сделано следующим образом:
                                  1. Сначала применяются дефолтные конфиги из /usr/share/opera/defaults
                                  2. Потом применяются специфичные для локали конфиги из папки локали:
                                  /usr/share/opera/locale/en — для английской локали;
                                  /usr/share/opera/locale/ru — для русской локали;
                                  /usr/share/opera/locale/uk — для украинской локали;
                                  /usr/share/opera/locale/be — для белорусской лоокали;
                                  и т.д.
                                  3. И в последнюю очередь применяются специфичные для текущего пользователя конфиги из его домашнего каталога:
                                  /home/username/.opera

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

                                  Например, файл search.ini присутствует во всех трёх уровнях этой иерархии конфигов. Поэтому значения из каждого последующего search.ini
                                  — если они не были определены в ранее примененных search.ini, то они добавляются к ним;
                                  — а если они уже были определены в ранее примененных search.ini, то они переопределяются.
                                  Т.е. например, если:
                                  1) в /usr/share/opera/defaults/search.ini — создан поиск по алиасу «y» на yahoo.com
                                  2) в /usr/share/opera/locale/ru/search.ini — создан поиск по алиасу «y» на yandex.ru
                                  3) а в /home/username/.opera/search.ini — поиск по алиасу «y» вообще не задан,
                                  то в итоге для юзера будет действовать поиск по «y» на yandex.ru
                                  А если при этом пользователь задаст у себя в пользовательском профиле Оперы поиск по алиасу «y» на youtube.com, то будет действовать именно эта настройка поиска как последняя применяемая.

                                  Поэтому, если у вас поиск на google.com был настроен в дефолтном конфиге (/usr/share/opera/defaults), а также в локальном конфиге /usr/share/opera/locale/ru, то для его редактирования нужно либо править локальный конфиг (правка дефолта ничего не даст, т.к. его переназначит локальная настройка) либо создать этот поиск в своём пользовательском search.ini, а уже потом там править.
                                  Идеологически правильным вариантом будет всё же править свой персональный профиль Оперы в домашнем каталоге пользователя, тем более для этого не нужно иметь административных прав. При копировании поиска через интерфейс Оперы именно это и происходит — копирование соответствующего поискового фрагмента из дефолтного/локализованного search.ini в одноименный файл в профиле юзера.
                                  • 0
                                    Всё это очень логично, и именно так и должно работать. Тем не менее у меня в профиле был поиск гугла по кейворду «g», и его редактирование не добавило к нему подсказок. А вот редактирование в локалях — помогло. Может, windows, а может я перемудрил с настройками.
                                  • +2
                                    Яндекс.Картинки
                                    suggest-images.yandex.ru/suggest-img?&part={SearchTerm}
                                    • 0
                                      Спасибо, добавил в пост.
                                      Чтобы парсер не ел ссылки, я оборачивал в тег pre.
                                    • +1
                                      > я тестил только Youtube

                                      Все остальное работает, кроме Bing (ru).
                                      • 0
                                        И это при том что опенсерч это умеет, а опера `любит стандарты`
                                        • 0
                                          Автору спасибо. Добавлю, что для того, чтобы сам гугл-поиск корректно работал (подсказки и так работают), мне у гугла потребовалось заменить строку
                                          Encoding=koi8-r
                                          на
                                          Encoding=utf-8
                                          • 0
                                            Как интересно… Это у вас в стандартных поисках было koi8-r? У меня нет koi8 ни в одном search.ini.
                                            • 0
                                              При создании нового поиска на основе старого (как рекомендовано в статье) появился koi8-r. Опера 10.60.
                                              • 0
                                                И действительно, так получается. Видимо, я на автомате подправил и не обратил внимания.
                                                Спасибо, добавил в пост.
                                          • 0
                                            Ссылки на Яндекс, Яндекс.Словари и Яндекс.Видео неправильные.

                                            Парсер хабра почему-то заменяет «part» на "∂".
                                            • 0
                                              У меня Яндекс работает, код брал из поста.
                                              • 0
                                                Если просто вставить в адресную строку и заместо SearchTerm ввести латинскую букву, то выдаёт «400 Bad request». Если странный символ заменить на «part», то всё отлично срабатывает.
                                              • 0
                                                У меня тоже работает.
                                              • +3
                                                У меня ко всем желающим подправить search.ini есть небольшое, но очень ответственное поручение. ;)

                                                Пожалуйста, при всех правках сохраняйте в поисковиках партнёрские идентификаторы. Вам всё равно, а нам будет капать копеечка «на развитие фирмы» ;)
                                                • 0
                                                  Партнёрский идентификатор — это sourceid=opera?
                                                  • 0
                                                    Да. Там почти у каждого поисковика есть ID.
                                                  • 0
                                                    Добавил поправку в пост.
                                                    А вы случайно не знаете, удобное редактирование настройки подсказок планируется сделать?
                                                    • 0
                                                      Если и планируется, то нескоро. Пока более важных задач вагон и маленькая тележка.

                                                      Но я отправил разработчикам эти варианты с предложением их использовать в дальнейшем в русскоязычной версии.
                                                    • 0
                                                      А вы сделайте, чтобы мы ничего ручками в search.ini не лапали, и хоть 10 партнерских впихивайте
                                                      • 0
                                                        Эмм… Зашить search.ini в бинарник opera.exe? ;)
                                                        • 0
                                                          Лучше все же галочку в настройках, «включить автоподстановку»
                                                          ини в бинарник это как-то жестоко
                                                    • 0
                                                      А у меня на слова «почему я хр» выдаётся «330 000 результатов»
                                                      • 0
                                                        автор этой темы, не вы ли постили её в песочницу?
                                                        • 0
                                                          Нет, не я. Очень похоже, что это был автор вот этого поста на форумах, который предложил большую пачку URLов. Как по мне, заслуживает на инвайт.
                                                        • 0
                                                          Моя Opera в версии 10.60 не поддерживает поисковые подсказки. что я делаю не так?
                                                          • 0
                                                            Вообще-то должна поддерживать. Попробуйте удалить search.ini (забекапив, конечно) и попробовать подсказки в Bing. Должны работать.
                                                          • 0
                                                            Огромнейшее спасибо автору!

                                                            А есть ли способ совсем упростить жизнь и сделать появление подсказок без всяких g/ya/и_иже_с_ними в адресной строке?
                                                            Опера же умеет запускать поиск просто по тексту (сама добавляет? перед строкой).
                                                            • 0
                                                              Насколько я знаю, нет.
                                                              В любом случае, тогда бы Опере пришлось запрашивать подсказки, даже когда вы вводите адрес сайта (а у меня это 90% случаев), а это не очень хорошо.
                                                            • 0
                                                              Кто может подсказать как выдрать из аналогичного поиска гугла в Firefox список всех запросов, которые туда вводил? Этот список выпадает, когда начинаешь что-то вводить или просто нажимаешь стрелку вниз, но выделить и скопировать нельзя. Излазил все служебные и не очень папки Firefox — так и не нашел, где они храняться :(
                                                              • 0
                                                                Насколько я понимаю, они хранятся в файле
                                                                Application Data\Mozilla\Firefox\Profiles\blablabla.default\formhistory.sqlite
                                                                ну или что-то аналогичное для линукса.
                                                                Файл можно открыть консольным sqlite и запросом
                                                                select * from moz_formhistory where fieldname='searchbar-history';
                                                                получить поисковые запросы.
                                                                • 0
                                                                  о, спасибо! буду пробовать.

                                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.