Язык запросов в информатике это

Язык запросов

Язык запросов в информатике это. Смотреть фото Язык запросов в информатике это. Смотреть картинку Язык запросов в информатике это. Картинка про Язык запросов в информатике это. Фото Язык запросов в информатике этоЯзык запросов – это искусственно созданный язык, с помощью которого осуществляют запросы к поисковым системам, база данных или другим информационным системам. На данный момент таких языков немало. Все они существенно отличаются между собой и созданы для автоматизации разных процессов. Нас же интересует их применение в поиске информации.

Язык поисковых запросов

Информационно-поисковый язык (Information retrieval query language) – это набор операторов, которые позволяют формировать запросы для поисковых машин. Работа поисковых запросов сводится к манипуляциям в поисковой строке и отправке их поисковой машине на выполнение. Главная цель – улучшение и упрощения процесса поиска информации пользователем.

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

Для того чтобы применить возможность языка поисковых запросов необязательно обладать специальными знаниями. Основные поисковые операторы, представлены на панели расширенного поиска во всех популярных поисковиках. Как правило, эта панель находиться под или над поисковой строкой. Однако в ней реализованы не все информационно-поисковые возможности. При необходимости можно прибегнуть к дополнительным операторам, которые делятся на три группы: морфологические, поискового контекста, документные. Важно понимать, что операторы в разных поисковиков имеют некоторые отличия и обозначаются по-разному. Для сравнения разберем языки поисковых запросов Google и Яндекс.

Морфология

Поисковый контекст

Google: OR (ИЛИ) – поиск любого слова разделенного оператором.
Яндекс: & (И) – слова запроса объединены в одном предложении; && – слова запроса объеденные в одном документе; | (ИЛИ) – поиск любых из запрашиваемых слов разделенных данным оператором;

(И-НЕ) – поиск слова перед оператором в предложение, которое не имеет слово после оператора;

(И-НЕ) – поиск слова перед оператором в документе, которой не имеет слово после оператора.

Документные операторы

Проще говоря, с помощью языка поисковых запросов пользователь может настроить, КАК ему искать информацию, но для этого необходимо точно знать, ЧТО искать. Иначе нагромождать выражение операторами в поисковой строке нет необходимости.

Источник

Язык поисковых запросов Яндекс и Google: значение операторов и примеры по применению для SEO задач

Что такое язык поисковых запросов и операторы поисковых систем

Разбор и применение операторов Яндекс

Порядок слов

В некоторых случаях порядок слов меняет семантическую направленность. Например, выражение: “мать любит дочь” и выражение “дочь любит мать” имеют разные смыслы. Как видим, в русском языке в отличие от математики перестановка слагаемых может менять сумму.

В Яндексе для управления очередностью и порядком слов существует большое количество операторов. Наиболее популярные операторы из языка поисковых запросов представлены в таблице.

ОператорЧто делаетПример запросаКакая будет выдача
“ “Слова идут подряд“крокодил Гена”Только страницы где слова “крокодил” и “гена” идут друг за другом, точно как мы задали.
&Слова в одном предложенииистория & РусиНапример: история Киевской Руси, история возникновения Руси.
&&Слова в одном документепочинить & плиту && ТомскВ одном предложении будут даны результаты починить плиту и в любой части документа должно быть слово Томск.
[ ]Фиксирует порядок словбилеты [москва санкт-петербург]Выдача будет отражать билеты только этого направления, а не обратного как часто бывает.
( )Используется для сложных запросовкупить телевизор (samsung | philips | lg)Результаты будут показаны для указанных трех марок сразу, так как используется оператор | (или).

Морфология

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

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

Обратите внимание! Независимо от формы, Яндекс может по-разному учитывать регистр букв в словах. При проставлении операторов лучше учитывать, с большой или маленькой буквы пишется слово.

Добавление и исключение слов

ОператорЧто делаетПример запросаКакая будет выдача
+Выдача с указанными словамирено + дастерПокажет документы, где встречаются именно эти слова, то есть поможет нам найти определенную модель машины Рено.
— (он же

Исключает попадание слов в одном предложенииКузькина

матьИнформация о Кузькиной, как о матери, но не имея ввиду русское идиоматическое выражение.*Пропускает слово в указанном местеИван * ТургеневВыдача будет содержать заданную последовательность с добавлением какого-либо слова на месте *. В нашем случае это отчество писателя...Указывает цифры в интервалетелевизор за 2000..6000 рублейПокажет результаты выдачи с цифрами в диапазоне от 2000 до 6000.

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

В помощь SEO-специалисту

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

ОператорЧто делаетПример запросаКогда используется
site:Ищет по определенному доменуsite: semyadro.proМожет использоваться для получения результатов по определенному конкуренту или для поиска по конкретному сайту.
url:Ищет по указанному urlurl:semyadro.pro/osnovy/*Позволяет проверить индексацию той или иной страницы. В примере мы увидим все статьи нашего сайта в разделе “Основы”.
date:Определяет дату изменения документовsite:semyadro.pro date:>20170412Позволяет определить изменение документов за определенный период времени. Учитывает также добавление значений больше (>) и меньше ( ) от 12 апреля для нашего сайта.
title:Ищет сайты с указанными словами в тайтлеtitle:(язык поисковых запросов)Полезно использовать для поиска конкурентов. Допустим, у нас есть ядро и мы можем узнать конкурентов по тому или иному высокочастотному запросу, который может оказаться в тайтле. Для написания нескольких слов необходимо использовать скобки.

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

Хотелось бы отметить такой интересные параметр как &how=tm. Этот параметр позволяет сортировать результаты выдачи по дате добавления, то есть покажет самые “свежие” результаты.

Его необходимо добавить в адресную строку при поиске.

Язык запросов в информатике это. Смотреть фото Язык запросов в информатике это. Смотреть картинку Язык запросов в информатике это. Картинка про Язык запросов в информатике это. Фото Язык запросов в информатике этоФото 1: Яндекс отранжирует результаты по дате первого появления документа в индексе.

Соответственно мы будем видеть самые новые результаты.

Язык запросов в информатике это. Смотреть фото Язык запросов в информатике это. Смотреть картинку Язык запросов в информатике это. Картинка про Язык запросов в информатике это. Фото Язык запросов в информатике этоФото 2: Яндекс показывает самые свежие документы, которые недавно попали в индекс.

Удобно использовать данный параметр для своего сайта в связке с оператором site:, мы можем посмотреть какой документ был проиндексирован последним. Либо это поможет при анализе конкурентов, для анализа скорости индексации или частоты появления новой информации.

Разбор и применение операторов Google

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

ОператорЧто делаетПример запросаКакая будет выдача
ORАльтернатива оператору | в Яндекседом (дерево or кирпич)Результаты будут показаны для обоих заданных слов. Также поддерживается оператор | как в Яндексе.
cache:Показывает кэшированную версию страницыcache:semyadro.pro/sbor/Покажет версию страница сохраненной в кэше. Помогает когда какой-либо документ изменили или заблокировали.
info:Получение сведений о сайтеinfo:semyadro.proГугл предоставит список информации, которую он может показать по данному адресу. Как правило это: кэшированная версия, страницы похожие на указанную, страницы на указанном сайте, страницы упоминающие введенную ссылку.
related:Поиск сайтов с похожим контентом.related:semyadro.proВыдача покажет сайты с похожим контентом по тематике. Алгоритм не всегда показывает похожие сайты, поэтому если вы увидите результат “ничего не найдено”, не удивляйтесь.
allintitle:Поиск по тайтлам аналогичный Яндексуallintitle:поисковые запросыВыдача покажет все сайты, содержащие заданные слова в тайтле. Для написания нескольких слов необходимо использовать скобки.
allinurl:Поиск по словам в URLallinurl:operatory yandeksГугл покажет все сайты, которые содержат указанные параметры в URL. В эпоху ЧПУ позволяет также искать конкурентов по ключевым фразам.

Языки поисковых запросов других систем

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

Язык поисковых запросов Рамблер

Рамблер не может похвастаться обилием операторов, однако у него есть свои особенности при работе с ними.

Операторы поисковых запросов Mail

В ней приведены следующие операторы, которые по функциям не отличаются от других ПС:

Выводы

Знание языка поисковых запросов тех или иных поисковых систем может значительно облегчить и ускорить поиск информации в сети. Умение расставлять необходимые операторы в зависимости от запроса поможет не только при сборе семантического ядра для сайта или кампании в Яндекс.Директ, но и для задач по SEO аналитике, проверке сайтов конкурентов.

Источник

Заметки Дата Сайентиста: персональный обзор языков запросов к данным

Язык запросов в информатике это. Смотреть фото Язык запросов в информатике это. Смотреть картинку Язык запросов в информатике это. Картинка про Язык запросов в информатике это. Фото Язык запросов в информатике это

Рассказываю из личного опыта, что где и когда пригодилось. Обзорно и тезисно, чтобы понятно было, что и куда можно копать дальше — но тут у меня исключительно субъективный личный опыт, у вас, может быть, все совсем по-другому.

Почему важно знать и уметь обращаться с языками запросов? По своей сути в Data Science есть несколько важнейших этапов работы и самый первый и важнейший (без него уж точно ничего работать не будет!) — это получение или извлечение данных. Чаще всего данные в каком-то виде где-то сидят и их нужно оттуда «достать».

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

Всего будет три основных блока типов запросов к данным, которые мы разберем в данной статье:

«Стандартные» языки запросов

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

Реляционная алгебра

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

Что такое реляционная алгебра?

См. все реляционные операции в этой статье с Хабра — здесь же мы описываем, зачем нужно знать и где пригождается.

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

Язык запросов в информатике это. Смотреть фото Язык запросов в информатике это. Смотреть картинку Язык запросов в информатике это. Картинка про Язык запросов в информатике это. Фото Язык запросов в информатике это

Взято из этой статьи. Пример операции: join, который объединяет таблицы.

Материалы для изучения:

Хороший вводный курс от Стэнфорда. Вообще, материалов по реляционной алгебре и теории очень много — Сoursera, Udacity. Есть также огромное количество материалов онлайн, в том числе хороших академических курсов. Мой персональный совет: надо понимать реляционную алгебру очень хорошо — это основа основ.

Язык запросов в информатике это. Смотреть фото Язык запросов в информатике это. Смотреть картинку Язык запросов в информатике это. Картинка про Язык запросов в информатике это. Фото Язык запросов в информатике это

SQL — это, по сути, имплементация реляционной алгебры — с важной оговоркой, SQL — декларативен! То есть записывая запрос на языке реляционной алгебры, вы фактически говорите, как нужно считать — а вот с SQL вы задаете, что хотите извлечь, а дальше СУБД уже генерирует (эффективное) выражения на языке реляционной алгебры (их эквивалентность известна нам под теоремой Кодда).

Язык запросов в информатике это. Смотреть фото Язык запросов в информатике это. Смотреть картинку Язык запросов в информатике это. Картинка про Язык запросов в информатике это. Фото Язык запросов в информатике это

Реляционные СУБД: Oracle, Postgres, SQL Server, etc — по-прежнему фактически повсюду и невероятно велик шанс того, что вам придется с ними взаимодействовать, а это означает, что придется либо читать SQL (что очень вероятно), либо писать на нем (тоже не маловероятно).

Что читать и изучать

По тем же ссылкам выше (про реляционную алгебру), есть невероятное количество материала, например, этот.

Кстати, а что такое NoSQL?

«Стоит еще раз подчеркнуть, что термин «NoSQL» имеет абсолютно стихийное происхождение и не имеет общепризнанного определения или научного учреждения за спиной.» Соответствующая статья на Хабре.

По сути, люди поняли, что полная реляционная модель не нужна для решения многих задач, особенно для тех, где, например, принципиальна производительность и доминируют определенные простые запросы с агрегацией — там критично быстро считать метрики и писать их в базу, а большинство фич реляционной оказались не только не нужны, но и вредны — зачем нормализовывать что-то, если это будет портить самое важное для нас (для некоторой конкретной задачи) — производительность?

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

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

Подробнее можно прочитать тут про NoSQL.

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

Скриптовые языки запросов

Сначала, кажется, причем тут вообще Python — это язык программирования, а не про запросы вовсе.

Язык запросов в информатике это. Смотреть фото Язык запросов в информатике это. Смотреть картинку Язык запросов в информатике это. Картинка про Язык запросов в информатике это. Фото Язык запросов в информатике это

Мой главный совет: учите Python!

Pandas

Возьмем в качестве примера следующий код:

По сути, мы видим, что код вписывается в классический SQL паттерн.

Но важная часть — этот код является часть скрипта и пайплайна, фактически мы встраиваем запросы в Питоновский пайплайн. В данной ситуации язык запросов к нам приходит из библиотек, таких как Pandas или pySpark.

В целом в pySpark мы видим схожий тип трансформации данных через язык запросов в духе:

Где и что почитать

По самому питону вообще не проблема найти материалы для изучения. В сети огромное количество тьюториалов по pandas, pySpark и курсов по Spark (а также по самому DS). В целом тут материалы великолепно гуглятся и если бы мне нужно было выбрать один пакет, на котором стоит сфокусироваться — то это был бы pandas, конечно. По связке DS+Python материалов тоже очень много.

Shell как язык запросов

Немало проектов по обработке и анализу данных, с которыми мне приходилось работать — это, по сути, shell скрипты, которые вызывают код на питоне, на java и собственно сами shell команды. Поэтому в целом можно рассматривать пайплайны в баше/zsh/etc, как некоторый высокоуровневый запрос (можно туда, конечно, и циклы запихать, но это нетипично для DS кода на шелл языках), приведем простой пример — мне нужно было сделать маппинг QID викидаты и полной ссылки на русскую и английскую вики, для этого я написал простой запрос из команд в баше и для вывода написал простой скприт на питоне, которые я собрал вместе вот так:

Это был, по сути, весь пайплайн, который создавал нужный mapping, как мы видим все, работало в режиме потока:

Еще один важный совет: умейте хорошо и эффективно работать в терминале и писать на bash/zsh/etc.

Где пригодится? Да почти везде — материалов для изучения опять же ОЧЕНЬ много в сети. В частности, вот эта моя предыдущая статья.

R scripting

Опять же читатель может воскликнуть — ну это же целый язык программирования! И конечно же, будет прав. Однако, обычно мне приходилось сталкиваться с R всегда в таком контексте, что, по сути, это было очень похоже на язык запросов.

R — это среда статистических вычислений и язык статических вычислений и визуализации (согласно этому).

Язык запросов в информатике это. Смотреть фото Язык запросов в информатике это. Смотреть картинку Язык запросов в информатике это. Картинка про Язык запросов в информатике это. Фото Язык запросов в информатике это

Взято отсюда. Кстати, рекомендую, неплохой материал.

Зачем дата саентисту знать R? По крайней мере, потому что есть огромный пласт людей не из IT, которые занимаются анализом данных на R. Мне встречалось в следующих местах:

Пример запросов для визуализации

В целом многие идеи из R перекочевали в пакеты python, такие как pandas, numpy или scipy, как датафреймы и векторизация данных — поэтому в целом очень многие вещи в R покажутся вам знакомыми и удобными.

Источников для изучения много, например, этот.

Графы знаний (Knowledge graph)

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

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

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

Язык запросов в информатике это. Смотреть фото Язык запросов в информатике это. Смотреть картинку Язык запросов в информатике это. Картинка про Язык запросов в информатике это. Фото Язык запросов в информатике это

Если бы мы использовали реляционную базу, нам бы пришлось создать огромную таблицу или таблицы с огромным количеством колонок, большая часть из которых бы была NULL или заполнена каким-то дефолтным False значением, например, вряд ли у многих из нас есть запись в национальной корейской библиотеке — конечно, мы могли бы выносить их в отдельные таблицы, но это бы в конечном итоге была бы попытка смоделировать гибкую логическую схему с предикатами, с помощью фиксированной реляционной.

Язык запросов в информатике это. Смотреть фото Язык запросов в информатике это. Смотреть картинку Язык запросов в информатике это. Картинка про Язык запросов в информатике это. Фото Язык запросов в информатике это

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

Где вы вообще можете с таким столкнуться? Во-первых, работая с вики данными, да и с любыми графовыми базами данных или связными данными.

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

SPARQL

Wiki:
SPARQL (рекурсивный акроним от англ. SPARQL Protocol and RDF Query Language) — язык запросов к данным, представленным по модели RDF, а также протокол для передачи этих запросов и ответов на них. SPARQL является рекомендацией консорциума W3C и одной из технологий семантической паутины.

А реально это язык запросов к логическим унарным и бинарным предикатам. Вы просто условно указывается, что является фиксированным в логическом выражении, а что нет (очень упрощенно).

Сама база RDF (Resource Description Framework), над которой выполняются SPARQL запросы — это тройка object, predicate, subject — и запрос выбирает нужные тройки по указанным ограничениям в духе: найти такой X, что p_55(X, q_33) верно — где, разумеется, p_55 — это какое-то отношение с айди 55, а q_33 — это объект с айди 33 (вот и весь сказ, опять же опуская всевозможные детали).

Пример представления данных:

Язык запросов в информатике это. Смотреть фото Язык запросов в информатике это. Смотреть картинку Язык запросов в информатике это. Картинка про Язык запросов в информатике это. Фото Язык запросов в информатике это

Картинки и пример со странами вот отсюда.

Пример базового запроса

Язык запросов в информатике это. Смотреть фото Язык запросов в информатике это. Смотреть картинку Язык запросов в информатике это. Картинка про Язык запросов в информатике это. Фото Язык запросов в информатике это

Пример реального запроса SPARQL внутри движка python:

Язык запросов в информатике это. Смотреть фото Язык запросов в информатике это. Смотреть картинку Язык запросов в информатике это. Картинка про Язык запросов в информатике это. Фото Язык запросов в информатике это

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

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

Логические языки запросов

Подробнее по теме можно прочитать в моей статье тут. А здесь, мы лишь кратко разберем, почему логические языки хорошо подходят для написания запросов. По сути, RDF это просто набор вида логических утверждений вида p(X) и h(X,Y), а логический запрос имеет следующий вид:

output(X) :- country(X), member_of(X,“EU”).

Тут мы говорим, о создании нового предиката output/1 (/1 — значит унарный), при условии, что для X верно, что country(X) — т.е., Х — это страна и также member_of(X,“EU”).

То есть у нас и данные, и правила в таком случае представлены вообще одинаково, что позволяет очень легко и хорошо моделировать задачи.

Где встречались в индустрии: целый большой проект с компанией, которая пишет на таком языке запросы, а также на текущем проекте в ядре системы — казалось бы, вещь довольно экзотическая, однако иногда встречается.

Пример фрагмента кода на логическом языке, обрабатывающем wikidata:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

ОператорЧто делаетПример запросаКакая будет выдача
& или ANDАльтернатива оператору + в Яндексе и Гуглеребенок & кошкаребенок AND кошкаРамблер покажет в выдаче документы, которые содержат и слово ребенок и слово кошка.