Typesense — это поисковая система

German German 11 Октября 2023

Typesense — это поисковая система с открытым исходным кодом, устойчивая к опечаткам, оптимизированная для мгновенного (обычно менее 50 мс) поиска по мере ввода.

Если вы слышали об ElasticSearch или Algolia, то о Typesense можно подумать, что это:

  • Альтернатива Algolia с открытым исходным кодом.
  • Более простая в использовании альтернатива ElasticSearch.

Время от времени мы видели, как некоторые пользователи путают Typesens с общедоступной поисковой системой, такой как, скажем, Google, Bing, DuckDuckGo и т.д. Эти интернет-поисковые системы выходят и сканируют данные с сайтов, а затем позволяют любому выполнять поиск по ним.

Typesense поисковая система

Typesense, с другой стороны, не сканирует данные. Вместо этого мы помещаем данные, которые у нас уже есть — в нашу основную базу данных (или файле CSV/JSON) или которые мы просканировали с помощью парсера — в Typesense, а затем позволяете своим пользователям выполнять поиск по этим данным через пользовательский интерфейс.

Тесты

  • Набор данных, содержащий 2,2 миллиона рецептов (названия рецептов и ингредиенты):

    • Занял около 900 МБ ОЗУ при индексации в Typesense.
    • Индексация всех 2,2 млн записей заняла 3,6 минуты.
    • На сервере с 4 виртуальными процессорами Typesense смог одновременно обрабатывать 104 одновременных поисковых запроса в секунду со средним временем обработки поиска 11мс.
  • Набор данных, содержащий 28 миллионов книг (названия книг, авторы и категории):

    • Занял около 14 ГБ ОЗУ при индексации в Typesense.
    • Индексация всех 28 миллионов записей заняла 78 минут.
    • На сервере с 4 виртуальными процессорами Typesense смог одновременно обрабатывать 46 одновременных поисковых запросов в секунду со средним временем обработки поиска 28мс.
  • Имея набор данных, содержащий 3 миллиона продуктов (данные о продуктах Amazon), Typesense смогла обрабатывать пропускную способность 250 одновременных поисковых запросов в секунду в высокодоступном кластере Typesense с 8 виртуальными процессорами и 3 узлами.

Ресурсы

P.S. @Evg сюда не хотим поставить? Актуально при разном контенте и фасетах. Обращение через @ желательно выделить (сливается с ссылками)?

2 Ответа

  1. Evg Evg 11 Октября 2023

    Это хорошая штука, давно смотрел на неё. Поиск там шикарный и активна она. И там вроде есть php клиент даже для API. Сделать переключение, как было ранее в конфиге. Хм. Время появится, надо собрать и глянуть более детально, что это.

    А выделить @, так то тоже ссылка. Я к тому, что если отличалось чтоб, не очень сильно. Подумаю, спасибо. +

    P.S. если работать с ссылками в плане дизайна, то тогда предусмотреть: внутренние, внешние, обращение и парсер для URL если есть там схема, например. Варианты т.е., тут работы много.

    1. German German 11 Октября 2023

      И перелинковать связанную статью с этой надо.