Pull to refresh
  • by relevance
  • by date
  • by rating

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

Search engines *Sound
Ориентироваться в двухчасовых подкастах станет гораздо проще. Сервис Google Podcasts начал автоматически генерировать расшифровки аудиозаписей и использует их в качестве метаданных для поиска, сообщает Android Police. Это помогает не только найти нужный фрагмент в конкретном подкасте, но и найти нужный эпизод, даже если вы не помните его название или дату выхода.

Текстовая расшифровка эпизодов появилась в исходном коде страницы, в разделе веб-прослушивания на портале Google Podcasts, как показано на скриншоте под катом. Для запуска веб-прослушивания нужно специальным образом изменить ссылку на эпизод подкаста: https://www.google.com/podcasts?feed= в начале URL нужно заменить на https://podcasts.google.com?feed=. Тогда открывается веб-плеер. И вот там в исходниках страницы есть текстовая расшифровка.
Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Views 1.4K
Comments 6

На YouTube появился полнотекстовый поиск по видео

Cloud services
Анонсированная в июне, на YouTube всё-таки появилась функция полнотекстового поиска по видеороликам. Видеоматериал публикуется вместе со специальным слоем метаданных, в котором и находится сопроводительный текст. Разработчики утверждают, что распознавание речи и создание слоя метаданных осуществляется автоматически. Таким образом, содержание видеозаписей теперь может быть легко проиндексировано поисковыми системами. Например, можно быстро находить запись каждой фразы, сказанной политиком в течение его жизни.

Пример с политиками приведён неспроста. Дело не только в том, что они часто противоречат сами себе на протяжении своей карьеры, и теперь это можно будет легко вскрыть. Дело ещё и в том, что в данный момент полнотекстовый поиск доступен только по избранным видеозаписям, посвящённым избирательной кампании в США: это проморолики Маккейна и Обамы также некоторые другие политические материалы. Полнотекстовый поиск по ним осуществляется со страницы You Choose.

Во время просмотра видеоролика с метаданными достаточно навести курсор на строку состояния, чтобы появился сопроводительный текст.
Total votes 1: ↑1 and ↓0 +1
Views 921
Comments 12

Использование Tsearch2 в PostgreSQL 8.3

PostgreSQL *
Многим при реализации поиска по сайту приходится делать запрос к базе данных, использующий оператор LIKE или регулярные выражения.
С выходом PostgreSQL 8.3 модуль полнотекстового поиска tsearch2 был встроен в ядро системы (об этом ранее уже писалось на Хабре), и с его помощью можно реализовать поиск по базе данных, который будет более функционален. В принципе, в статье, указанной выше, приведен пример использования этого модуля, но хотелось бы поделиться опытом реализации полнотекстового поиска в реальном проекте.
читать дальше
Total votes 8: ↑7 and ↓1 +6
Views 7.8K
Comments 6

Полнотекстовый поиск и его возможности

Website development *
Многие СУБД поддерживают методы полнотекстового поиска (Fulltext search), которые позволяют очень быстро находить нужную информацию в больших объемах текста.

В отличие от оператора LIKE, такой тип поиска предусматривает создание соответствующего полнотекстового индекса, который представляет собой своеобразный словарь упоминаний слов в полях. Под словом обычно понимается совокупность из не менее 3-х не пробельных символов (но это может быть изменено). В зависимости от данных словаря может быть вычислена релевантность – сравнительная мера соответствия запроса найденной информации.

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

Читать дальше →
Total votes 81: ↑77 and ↓4 +73
Views 157K
Comments 35

Алгоритмы организации тэгов

Website development *
Тэги – неотъемлемая часть всех современных сайтов и косвенный признак принадлежности сайта к пресловутому Вэб-Два-Ноль.

В статье я хочу рассказать об способах и алгоритмах тегирования информации.
Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Views 24K
Comments 48

AdMe.ru: Тэги, полнотекстовый поиск и всё такое…

Website development *
В этой статье я открою секреты того, как работает adme.ru, а именно я расскажу о том как устроено хранение статей и тэгов, как работает полнотекстовый поиск, поиск по тэгам и всё такое…

В статье приведён пример структуры таблиц, рабочий конфиг Sphinx и немного php кода с примерами выборок.
Читать дальше →
Total votes 71: ↑64 and ↓7 +57
Views 6.8K
Comments 32

Быстрый полнотекстовый поиск в Rails приложениях

Ruby *
Рано или поздно перед каждым сайтом (будь то социальная сеть, форум, блог или еще какое-то хранилище информации) возникает проблема поиска. Каждый разработчик решает эту проблему по-своему: одни пишут свои решения, другие используют готовые встраиваемые поисковики, третьи используют внешние решения, например сервисы от Google.

В этой статье мне хотелось бы рассказать о таком средстве поиска, как Ferret, и о том, как просто использовать данное решение в своем Rails-приложении.

и что же такое ferret?
Total votes 42: ↑36 and ↓6 +30
Views 5.5K
Comments 15

Древовидные СУБД

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

Поскольку любая компьютерная система с целью оптимизации обмена производит обмен между памятью и диском в виде блоков, то атомарным элементом, хранящим данные на диске, является блок. Ни для кого не секрет, что многие СУБД (тот же ORACLE и MSSQL) фактически хранят данные в Б-деревьях. Б-дерево – это набор логически связанных блоков, выстроенных в иерархию, на каждом уровне которой определены блоки, у каждого из которых одинаковое количество уровней потомков. Описание алгоритма работы Б-дерева выходит за рамки данного блога.

Реляционный, объектный или прямой доступ обеспечивается логической моделью. Попробую предположить, что разумное использование логической модели данных, максимально приближенной к фактическому хранению – позволит более просто и быстро обрабатывать низкоуровневые данные, чем использование других логических моделей(SQL и пр.), хотя и существенно повышаются требования к уровню разработки механизмов доступа к данным. Возможно, что прямой доступ может быть представлен логическим деревом. Примером логического дерева данных – является глобал в СУБД Cache.

Приведу несколько примеров использования, из личного опыта, древовидных структур данных (глобалов).
Читать дальше
Total votes 19: ↑12 and ↓7 +5
Views 1.6K
Comments 24

Полнотекстовый поиск по сайту — бич современного интернета

Website development *
Реализация хорошего поиска по сайту — часто сильно недооцененная по сложности задача. Поиск является слабым местом сайтов настолько часто, что когда я вижу строку поиска, у меня сразу же возникает предвзятое ощущение предстоящего фиаско. И чтобы лишний раз не расстраиваться, я сразу переадресую свой вопрос гуглу или яндексу и быстро нахожу то, что требовалось. Что же делать, чтобы как-то улучшить эту ситуацию?
ответы
Total votes 76: ↑64 and ↓12 +52
Views 26K
Comments 57

Индексирование и поиск с помощью Xapian в .NET

.NET *
Если слово Xapian вам незнакомо, рекомендую ознакомиться с небольшой статьей.
Вкратце же, Xapian — представляет собой написанный на с++ набор инструментов для индексирования текстовой информации, с возможностью поиска по базе индексированной информации. Для работы не требует установленного сервера, достаточно наличия его библиотек. Может обрабатывать огромные массивы информации(проверено до 1.5Тб), измеряемой миллионами документов. Является конкурирующим продуктом Sphinx и Apache Lucene.
Мной он был выбран из этих трех продуктов за возможность использования из .Net.

Пробуем
Total votes 36: ↑30 and ↓6 +24
Views 3.6K
Comments 31

Полнотекстовый поиск в InnoDB

MySQL *
Sandbox
Привет, Хабрачитатель!
Полнотекстовый поиск данных в InnoDB – это известная головная боль многих разработчиков под MySQL / InnoDB. Для тех, кто не в курсе дела я объясню. В типе таблиц MyISAM есть полноценный полнотекстовый поиск данных, однако сама таблица исторически имеет ограничения, которые являются принципиальными в отдельных проектах. В более «продвинутом» типе таблиц InnoDB полнотекстового поиска нет. Вот и приходится мириться бедным разработчикам либо с ограничениями MyISAM, либо с отсутствием поиска в InnoDB. Я хочу рассказать о том, какие есть способы организовать полноценный поиск в InnoDB без магии и исключительно штатными средствами. Также будет интересно сравнить скоростные характеристики каждого способа.
Читать дальше →
Total votes 79: ↑73 and ↓6 +67
Views 35K
Comments 55

Быстрый полнотекстовый поиск ElasticSearch

Website development *
Sandbox
image
При разработке высоконагруженных сайтов или корпоративных систем частенько возникает проблема с разработкой быстрого и удобного поискового движка. Ниже перечислены наиболее важные, на мой взгляд, требования к такому движку:

  • Скорость
  • Простота установки и настройки
  • Цена (желательно бесплатно и с открытым кодом)
  • Обмен информацией в формате JSON (по HTTP)
  • Масштабируемость (возможность распределения на несколько серверов)
  • Индексация в режиме реального времени
  • Multi-tenancy (гибкость в настройках под индивидуального пользователя)
  • Возможность переноса системы в облако

Хочу рассказать вам о новом поисковом движке Elasticsearch, который полностью удовлетворяет всем этим требованиям. В статье будет краткое описание, ссылка на авторитетную презентацию, а также описание установки и работы с ним.
Читать дальше →
Total votes 69: ↑63 and ↓6 +57
Views 211K
Comments 61

Поисковый движок IndexTank передан в open source

Search engines *
В октябре 2011 года профессиональная социальная сеть LinkedIn купила компанию IndexTank, которая занимается производством поисковых технологий. Очевидно, приобретена в первую очередь команда профессионалов под началом известного специалиста Диего Баша (Diego Basch), он же основатель и генеральный директор IndexTank, а в прошлом — один из ведущих разработчиков Inktomi. Как иногда бывает в таких случаях, прошлые продукты компании решили передать в open source. Диего Баш объявил, что исходные коды программного обеспечения IndexTank опубликованы под свободной лицензией Apache 2.0 и выложены на github.

indextank-engine: индексатор
indextank-service: API, BackOffice, Storefront и фреймворк Nebulizer для управления индексами

Поисковый движок IndexTank используется на многих крупных сайтах, в том числе Reddit, Wordpress (плагин для Wordpress) и BitTorrent. Он обеспечивает индексацию контента в реальном времени, поиск с учётом геолокации и т.д.

Программные интерфейсы позволяют разработчикам встраивать поиск IndexTank в свои приложения на Ruby, Java, .NET, Python, PHP и т.д. Документация по API здесь.
Total votes 31: ↑27 and ↓4 +23
Views 2.7K
Comments 13

Релиз MongoDB 2.4

NoSQL *MongoDB *
Сегодня состоялся релиз финальной версии MongoDB 2.4. Одна из новых возможностей — поддержка полнотекстового поиска с морфологией и стоп-словами. Правда, пока только в экспериментальном режиме. Среди 15 поддерживаемых языков есть и русский, что очень радует.

Ещё одно заметное изменение — смена движка javascript. Вместо SpiderMonkey теперь используется V8. Довольно логичный шаг, теперь было бы неплохо посмотреть сравнительные тесты map-reduce.

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

И ещё одно крупное изменение: добавление ролей пользователей и привилегий(read, readWrite, dbAdmin, clusterAdmin и т.д.). Посмотрим, что из этого выйдет.

Полный список изменений

Меня порадовало, что вместе с основным релизом вышла новая версия драйвера для C# с поддержкой новых возможностей.

Драйвер C#
Total votes 55: ↑52 and ↓3 +49
Views 8.9K
Comments 9

Система сбора отзывов Cackle Reviews с полнотекстовым поиском

Cackle corporate blog Website development *PostgreSQL *Sphinx *Development for e-commerce *
Всем привет! Не так давно мы реализовали полнотекстовый поиск для системы сбора отзывов Cackle Reviews. Получилось здорово, теперь любой модератор за несколько миллисекунд может найти интересующие его отзывы по слову или предложению с поддержкой стемминга (нечёткого поиска по части слова или его словоформам). Всё это работает на Sphinx — системе полнотекстового поиска.

В интернете есть много статей о Sphinx, но, к сожалению, часть из них устарела, некоторые другие не претендуют на полный и точный how to. Так что в данном посте мы постарались изложить все шаги — установки, настройки, индексации и поддержке дельта индекса.

система отзывов Cackle Reviews с полнотекстовым поиском

Читать дальше →
Total votes 26: ↑23 and ↓3 +20
Views 11K
Comments 14

Sphinx distribute. Ускоряем поиск

High performance *Sphinx *
Sandbox
Давеча у меня возникла необходимость пересмотреть работу полнотекстового поискового движка Sphinx, поскольку, некоторые нередкие запросы занимали секунды, а иные даже больше десяти. После поиска уязвимых мест и путей оптимизации нашел нехитрый способ повышения производительности — распараллеливание нагрузки на несколько потоков, в результате я получил неплохое сокращение времени запросов.

Одна из неприятных особенностей Sphinx'а — очень скудная информация на русском языке. Удивишись тем, что тема распределения нагрузки не была затронута, решил поделиться данным решением на Хабре.

Цель: повысить производительность Sphinx путём разделения нагрузки на несколько потоков.
Решение
Total votes 11: ↑9 and ↓2 +7
Views 14K
Comments 6

Python Meetup 28.08.15: полнотекстовый поиск и Europython 2015

Wargaming corporate blog Search engines *Open source *Python *
Tutorial
Всем привет!

Спешим поделиться видео с августовского Python Meetup. В этот раз мы прослушали два доклада: один про реализацию полнотекстового поиска при помощи Python, а второй — обзор конференции Europython 2015 из уст очевидца.

Приятного просмотра!


Читать дальше →
Total votes 17: ↑14 and ↓3 +11
Views 9.5K
Comments 5

Полнотекстовый нечеткий поиск с использованием алгоритма Вагнера-Фишера

Programming *Algorithms *
Sandbox
Статья написана об использовании алгоритма вычисления расстояния Левенштейна для нечеткого поиска в тексте, без использования вспомогательного словаря.

Расстояние Левенштейна используется для сравнения двух слов или двух строк, чтобы определить их схожесть. Некоторое время назад передо мной встала схожая задача — в заданной строке искать вхождение слов, словосочетаний и формул, похожих на образец.
Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Views 21K
Comments 7

Разрабатываем систему real-time fulltext-поиска по error-логам на основе ClickHouse от Яндекса

Open source *Programming *Development for Linux *
UPDATE из будущего: Не используйте этот подход! Для поиска логов намного лучше подходит простой поиск по регулярному выражению или подстроке встроенными средствами ClickHouse. Эта статья была написана давно, как интересный эксперимент, и у меня на тот момент не. было полного понимания того, как ClickHouse работает и как его лучше всего готовить. Я вас предупредил. Привет участникам телеграм-чатика «ClickHouse не тормозит»!

В этой статье я расскажу о том, как разработать систему для индексирования и полнотекстового поиска error-логов (или любых других логов) на основе СУБД от Яндекса под названием ClickHouse. Про саму базу Яндекс писал на Хабре сначала когда база была закрытой, а потом когда они её заопенсорсили. База данных в первую очередь предназначена для аналитики и для реализации сервиса Яндекс.Метрика, но может на самом использоваться для чего угодно, если вам подходит загружать данные пачками, удалять их тоже огромными пачками и никогда не обновлять отдельные строки.

Что мы будем делать


Мы будем реализовывать систему для индексирования и поиска по error-логам. При этом, считается, что сами логи вы уже сумели доставить на центральный сервер (или несколько серверов) и уже засунули сами тексты сообщений в базу, то есть у вас уже есть таблица в какой-нибудь базе данных примерно следующего вида:

CREATE TABLE Messages (
    message_id BIGINT PRIMARY KEY AUTO_INCREMENT,
    created_ts DATETIME,
    message_text BLOB
)


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

Читать дальше →
Total votes 41: ↑37 and ↓4 +33
Views 27K
Comments 14

Быстрый полнотекстовый поиск в Redmine

Southbridge corporate blog Help Desk Software *Project management *
image redmine-logo

image elastic-logo

У нас используется система управления проектами и задачами Redmine. Мы продолжаем допиливать ее под свои нужды, чтобы повысить удобство работы и расширить функционал. Очередной задачей стало ускорение поиска.

С тех пор как количество задач в Redmine выросло до нескольких сотен тысяч, время на обработку поискового запроса стало занимать десятки секунд, что недопустимо долго для нас. Поэтому мы решили внедрить полнотекстовый поиск на основе Elasticsearch. Про это и будет данный пост.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views 6.2K
Comments 0
1