Игорь Чакрыгин Игорь Чакрыгин

У любой задачи существует по крайней мере одно очевидное и невероятно простое для понимания неправильное решение

Sphinx - Источники данных в формате xml

В предыдущих статьях я рассказал о том, что в качестве источника данных для Sphinx можно использовать базы данных, в частности MS SQL Server. Во многих случаях этого наиболее удобный способ построения индекса, поскольку Sphinx может получить все данные одним запросом. Даже на очень больших объёмах данных этот запрос можно разбить на несколько ranged-запросов и получать данные из базы небольшими порциями.

Но данные в базе могут иметь сложную структуру со множеством связей, и получить их одним запросом может быть сложно. К тому же может потребоваться получать данные из источника, который Sphinx просто не поддерживает. Наиболее универсальным источником данных для Sphinx являются данные в формате xml. Именно об этом я и хочу рассказать в этой статье.

Sphinx - Подключение к Sphinx из .NET

В этой статье я хочу немного отвлечься от рассказа про сам Sphinx и немного поговорить о том, как взаимодействовать с ним из программы, написанной на языке C#.

Как я уже упоминал ранее, наиболее простым и удобным способом взаимодействия со Sphinx является язык запросов SphinxQL, который сильно напоминает обычный SQL. Сами запросы можно выполнять, подключившись к Sphinx как к обычной базе данных MySQL, поскольку Sphinx умеет её эмулировать.

Тем не менее даже используя официальный коннектор MySQL для .NET, взятый с сайта mysql.com, можно столкнуться с некоторыми сложностями, о решении которых я бы и хотел поговорить в этой статье.

Sphinx - Multi-valued атрибуты и joined поля

В предыдущей статье я показал, как можно использовать Sphinx для индексации базы данных MS SQL Server, а также рассказал про дельта-индексы.

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

Sphinx - Индексация базы данных и дельта-индексы

В предыдущей статье я кратко рассказал про основные возможности Sphinx. Пришло время применить эти знания на практике.

В этой статье я покажу как можно использовать Sphinx для индексации базы данных MS SQL Server, а также расскажу про дельта-индексы. В конце статьи вы также сможете найти архив со скриптами и файлами конфигурации, чтобы, при желании, повторить всю последовательность действий.

Sphinx - Источники данных, индексы, поля и атрибуты

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

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

Sphinx - Установка и настройка

Не так давно я решил более подробно изучить замечательный механизм полнотекстового поиска, которыйносит название Sphinx. Вы наверняка слышали о нём. Его установка, настройка и использование действительно очень просты. Несмотря на это, при первой попытке разобраться во всех деталях могут возникнуть некоторые трудности.

В данной статье я хочу подробно описать процесс установки Sphinx в Windows. Данная статья рассчитана на людей, которые, также как и я, ещё мало знакомы со Sphinx (или совсем не знакомы). Опытные разработчики вряд ли найдут в ней что-то новое.

© Игорь Чакрыгин. Все права защищены при помощи чёрной магии. Технологии Blogger.