Встраиваемые поисковые системы

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

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

 

Определение требований и критериев выбора поисковой системы

 

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

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

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

Так какие же критерии, по которым мы можем выбрать ту или иную поисковую систему, существуют?

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

 

Список критериев

 

Критерий

Описание и цель

1.

Индексирование online или пакетный подход к индексации

Необходимая скорость индексирования.

2.

Обработка естественных языков

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

3.

Синонимы

Поиск синонимов.

4.

Поддержка неполных запросов

Возможность автодополнения запросов и предложения вариантов исходя из набранного неполного запроса.

5.

Поиск offline

Возможность поддержки offline-режима работы с поиском (без Интернет-соединения).

6.

Геопространственный поиск

Расширение поиска за счет персонализации и локального контекста.

7.

Аналитика запросов

Отслеживание аналитики поисковых запросов: их качества, количества, частоты и т.д.

8.

Контроль ранжирования

Возможность установления и изменения условий ранжирования.

9.

Масштабируемость

Увеличение и уменьшение масштаба индексации.

10.

Тип данных

Определения типа данных, возможных для поиска (текст, изображения, геопространственные данные).

11.

Интуитивное API

Понятное для разработчиков API.

12.

Стоимость

Оценка стоимости.

 

Определение критериев

 

1. Индексирование online или пакетный подход к индексации.

Тут необходимо понять, насколько важна индексация данных в реальном времени. Если данные часто меняются и для пользователей важно, чтобы данные поиска были актуальными, то индексирование online в таком случае сыграет важную роль. В противном случае, если акцент делается не на быструю изменчивость данных, а на их объем и полноту, то достаточно будет и пакетного подхода к индексации.

2. Обработка естественных языков

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

3. Синонимы

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

4. Поддержка неполных запросов

Эта функция подразумевает как автозаполнение, так и поиск по не полностью введенному слову. Данный критерий присущ далеко не всем поисковым системам.

5. Поиск offline

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

6. Геопространственный поиск

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

7. Аналитика запросов

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

8. Контроль ранжирования

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

9. Масштабируемость

Предполагает возможность увеличения или уменьшения масштаба индексации.

10. Тип данных

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

11. Интуитивное API

У поисковой системы должно быть API, понятное разработчикам.

12. Стоимость

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

 

В следующей статье мы расскажем вам о наиболее популярных поисковых системах и их характеристиках.