Как создать индекс Sphinx (utf8 cirillic json_encoded string)?

Добрый день ув. сообщество.

Помогите решить вопрос.

Есть данные в базе от предыдущего разработчика.
Хранятся они, как не странно в json_encode строке.

Основная проблема с кириллицей UTF8 которая выглядит в базе так \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u044b\u043c

Каким образом можно по таким данных построить индекс для сфинкса?
  • Вопрос задан
  • 2736 просмотров
Решения вопроса 3
maxaon
@maxaon
Наиболее простой способ - добавьте еще один столбец с необходимыми для вас данными.
Ответ написан
@HighElf Автор вопроса
да, согласен, я уже сам склоняюсь к этому варианту, но избыточность данных.
Таблицы, которые нужно индексировать, их всего около 20ти, среднее колличество записей в каждой таблице около 500000, суммарно имеем 20 х 500000 = 10миллионов :)

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

Но как временное решение, возможно сделаю дополнительное поле, решение с настройкой сфинкса мне нужно закончить к новому году :)
Ответ написан
Комментировать
@HighElf Автор вопроса
По данной задаче принято следующее решение.

Формирует RT индекс, сами его наполняем нужными нам данными.

В интерфейс базы данных, в обработчиках событий, добавляем соответствующие обработчики для RT индекса сфинкса.

т.к. таблицы однотипные, всё сводится к базовому класу и его наследованию.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@HighElf Автор вопроса
Появилась идея!

Фомировать индекс самому, самописным индексатором, предварительно переводя данные в нужный формат.
Ответ написан
Комментировать
@HighElf Автор вопроса
Если кому будет интересно, в последствии выложу детали.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы