Недавно я разработал программное обеспечение, которое загружает файлы журналов из нашей производственной онлайн-среды на внутреннее устройство NAS с базой данных MySQL, чтобы позволить нам хранить больше информации (онлайн-пространство дорого).Эта штука работает и работает уже две недели, поэтому наша база данных растет: Количество таблиц журналов 411 Количество записей журнала 48 000 513 Прибл.размер таблиц: 37,32 ГБ
Каждый час создается другая журнальная таблица (с более чем 100 000 записей каждый раз), поэтому на данный момент у нас есть 411.
Я также создал интерфейс поиска дляэто, используя индексную таблицу, которая содержит имена таблиц, первую и последнюю запись в таблице, так что при указании даты для поиска все идет довольно гладко.
Однако, когда я ищу, например, "site"X "без указания диапазона дат, необходимо выполнить поиск более 400 таблиц, и каждая строка содержит большое сообщение XML, поэтому с каждым днем все становится медленнее.
Я начал искать более сложные поисковые решения и нашел ихсо Sphinx и Solr, НО я просто не могу понять, что все правильно:
- Я не могу найти, как настроить эти движки для поиска по всем таблицам (все они имеют одинаковую структуру),- Я мог бы преодолеть это путем динамического создания огромного представления или программного объединения таблиц на данный момент и добавления новых записей в одну таблицу в будущем, так что это не является большой проблемой.
- Я пыталсяSphinx, но он требует целое число в качестве первичного ключа - и у нас есть GUID (онлайн-таблица MSSQL) ... Я всегда мог бы добавить числовой индекс, чтобы преодолеть это, но я не хочу:)
- Я попробовал Solr, я настроил его на поиск в одной из 411 таблиц, но я не получил никаких результатов.После индексации мне сказали, что X записей были проиндексированы (около 12 000), что казалось правильным.Тем не менее, я не узнал, как на самом деле его искать.
Итог моего вопроса (-ов):
- Есть ли более «удобный» графический интерфейс, доступный дляпоиск по Solr, так как это был тот, в котором я получил самое дальнее, кроме поисковой части
- или есть ли способ настроить Sphinx с char (32) в качестве индекса?
- Isnне существует ли какой-то поисковой системы, которая позаботится обо всем этом «беспорядке» для меня, поскольку я могу объединить все в одну таблицу, просто придется искать в одной таблице?
- Существуют ли другие поисковые системы?(желательно бесплатно) Я должен изучить?
- Было бы хорошей идеей создать одну большую таблицу, чтобы облегчить мою работу?По приблизительным подсчетам, он будет состоять из 1 248 013 338 или 970,32 ГБ через год (по крайней мере, поскольку количество файлов журнала в час будет только увеличиваться).Если я делаю это совершенно неправильно, пожалуйста, скажите мне.
Я надеюсь, что я достаточно прояснил мою проблему.Заранее спасибо.
edit: Тем временем я смог настроить Solr и найти его.Однако он создает индекс, который почти равен размеру исходной таблицы ... поэтому я думаю, что мне следует придерживаться собственной домашней поисковой системы ...?