powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Размер индекса solr / lucene
11 сообщений из 11, страница 1 из 1
Размер индекса solr / lucene
    #39029336
L7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
L7
Гость
Делаю прототип системы поиска. Нужна ваша помощь.

Есть таблица в оракле с несколькими полями разных типов. Нагенирил данных похожих на реальные. 300 тыс.строк.
Пример:
Номер платежа Дата время Сумма фио.плательщика Тел.плательщика Имя получателя Счёт получателя314 2015-07-20T15:14:35Z 540.63 Иванова Вера Джулиусовна +7 916 0060157 АмРест 1826069778664190000 30338 2015-08-05T15:14:35Z 440.87 Иванова Зинаида Левовна +7 903 0060158 Арктел 1058284431947360000 80442 2015-08-01T15:14:35Z 941.91 Иванова Маргарита Шамсуддиновна +7 926 0060159 Аэропракт 1777648183270200000

Размер таблицы в оракле 62 мегабайта (инфа от Toad).

Импортировал таблицу в солр 5.2.1 (под windows).
Размер индекса с данными: 89 мегабайт
Размер индекса без данных: 68 мегабайт

Вопрос: возможно ли уменьшить размер индекса?

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

Нужны дополнительные возможности уменьшения размера индекса.
Есть такие?


Почему разместил этот вопрос в форуме Java? Потому что, в нём больше всего вопросов по solr lucene.
Список распространённых фамилий нашёл в интернете. Список имён и названия юрлиц нашёл в википедии.
...
Рейтинг: 0 / 0
Размер индекса solr / lucene
    #39029445
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L7,

Преждевременная оптимизация - зло. Ваша база на любой флэшке поместится. Куда там резать то еще? Пилите дальше приложение.
На размер забить. Допустим потребовались доработки, новые поля, таблицы,... Вся ваша оптимизация коту под хвост пойдет.
...
Рейтинг: 0 / 0
Размер индекса solr / lucene
    #39029449
base2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L7, а зачем хранить таблицу в Solr?
...
Рейтинг: 0 / 0
Размер индекса solr / lucene
    #39029490
L7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
L7
Гость
sanBez,
Спасибо. Согласен во всём. Но заказчик говорит, что размер исходных данных десятки терабайт (в моём прототипе 62 мб).
Стоимость дисков по-любому будет существенной частью стоимости системы.

base2,
Спасибо. В моё прототипе (html+js) проще получить данные из солра же. В реальной системе, скорее всего, от солра буду получать только id документа, затем - данные из реляционной БД. Solr рассматриваем, потому что он обычно мгновенно выдаёт ответ на запрос.


1 вариант ответа на мой вопрос: можно сжать индекс средствами файловой системы. В прототипе на NTFS: было 89, стало 63 мб. Съэкономлено: 30%. Прогнозирую существенную потерю производительности на больших данных.

Скопировал солр с данными как есть из винды в линукс - всё работает отлично. Пере-импортировал-индексировал те же данные. Получил размер индекса с данными: 145 мегабайт.
вопрос 2: почему?
...
Рейтинг: 0 / 0
Размер индекса solr / lucene
    #39029570
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L7Размер таблицы в оракле 62 мегабайта (инфа от Toad).

Импортировал таблицу в солр 5.2.1 (под windows).
Размер индекса с данными: 89 мегабайт
Размер индекса без данных: 68 мегабайт

Вопрос: возможно ли уменьшить размер индекса?

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

Нужны дополнительные возможности уменьшения размера индекса.
Есть такие?

Я не знаю какие выводы следуют из эксперимента. То что Lucene/Sold более прожёрлив чем Oracle?
Нет. Что за цифра 62 мегабайта от Тоад? Как бывший Оракл-ДБА я вам могу сказать что это может
быть 1) Размер db_blocks, размер экстентов? 2) Размер сегмента или табличного просранства где лежит
1 табличка?

Что за 89, 68 мегабайт? Для какой версии Lucene.version ? Какие алгоритмы токенизации использовались
для Russian Words? Насколько они эффективны для вашей задачи? Какая кодовая страница исходных
данных (здесь я упоминаю о своём собственном баге когда в вливал в Lucene в win-1251 кодировке
сырые данные что приводило к отказу токенизации и взрывному росту индекса). И фишка в том
что обнаружить этот баг без избирательных тестов поиска было невозможно. Баг на этапе загрузки
не детектился никак. Так что кодировки... кодировки... Курите их вни-ма-тель-но.

И самое главное. Что за спички? Что за 30% ? Как можно полёт шмеля экстраполировать на полёт
вертолёта? Там же другая физика.

Когда заказчик ставит задачу измерения терабайтов - и меряйте терабайты. Но учитывайте
1) гистерезис хранилища. Добавление "не равно" добавлению + update. Delete не всегда вызывает
освобождение физического места. 2) Резерв 25% на рост. Цифру я взял с потолка. Обычно
структуры данных наподобие B+Tree резервируют в каждой странице (листике или блоке)
метсто для updates и нет никаких оснований требовать от структуры хранения того-же
логического размера который был в CSV или исходных данных. И эти 25 % разумная плата
за скорость. И нечего заказчику здесь торговаться или сравнивать с Ораклом. Это фейл.
...
Рейтинг: 0 / 0
Размер индекса solr / lucene
    #39029715
L7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
L7
Гость
mayton, спасибо за ответ.

maytonЧто за цифра 62 мегабайта от Тоад?

Есть программа "Toad for Oraclr". Меню Database - Schema Browser - Tables - имя таблицы - клик - на закладке Stats/size написано: Size 62 Mb.


maytonЧто за 89, 68 мегабайт? Для какой версии Lucene.version ?

Solr 5.2.1
Lucene по умолчанию, не знаю как посмотреть версию.
Остальное по умолчанию.
Кодировка - подозреваю UTF-8. База содержит русские слова (см.выше пример), солр успешно возвращает их в своей админке на страничке core - Query в читаемом виде. Как проверить?
...
Рейтинг: 0 / 0
Размер индекса solr / lucene
    #39029735
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L7клик - на закладке Stats/size написано: Size 62 MbМожно подумать, что это сильно определяет размер пророческих табличных пространств. //сарказм - выключен.
Поэтому, как вам уже сказали, или тестирование на адекватных наборах данных или заказчик заказывал результат, а не управление процессом разработки.
...
Рейтинг: 0 / 0
Размер индекса solr / lucene
    #39029785
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L7Вопрос: возможно ли уменьшить размер индекса?

Ответ: вам Solr не нужен, т.к. вы хотите использовать его не по назначению. Сэкономить на дисках? Х-х-ы. Для десятков терабайт данных понадобится кластер серверов Solr. Искать в нём только ID? Опять х-хы-хы. Solr позволяет производить поиск по многим признакам, а также полнотекестный. И с чего вы решили, что поиск по одному ID ускорится, если в Solr индексы хранятся в файлах.
Тем более Lucene не подойдёт - отличается тем, что модификация индекса синхронная, то есть во время изменения данных. Поэтому на большом объёме данных будет замедлять работу базы. А также нельзя создать кластер Lucene.
...
Рейтинг: 0 / 0
Размер индекса solr / lucene
    #39029792
base2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L7В реальной системе, скорее всего, от солра буду получать только id документа, затем - данные из реляционной БД. Solr рассматриваем, потому что он обычно мгновенно выдаёт ответ на запрос.

Почему бы не искать сразу в БД? Добавьте индексы по нужным полям. Солр не для этих целей предназначен.
...
Рейтинг: 0 / 0
Размер индекса solr / lucene
    #39029858
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L7Solr 5.2.1
Lucene по умолчанию, не знаю как посмотреть версию.
Остальное по умолчанию.
Кодировка - подозреваю UTF-8. База содержит русские слова (см.выше пример), солр успешно возвращает их в своей админке на страничке core - Query в читаемом виде. Как проверить?
Вобщем я не специалист в Solr. Но если у него в вершине стека технологий стоит Lucene то нужные
ответы стоит искать в документации по Люсин. Кстати этот проект бурно развивается и буквально
каждую мажорную версию у него меняется формат storage. Это я установил экспериментально
пробуя разные режимы совместимости IndexWriter.

По поводу russian. Экспериментально я установил что чем сильнее у тебя токенизатор
режет входной поток и чем сильнее и умнее работает Стемминг - тем компактнее выходит
индекс. Здесь не пытайся спрашивать меня чо и как. Кури сорцы. Экспериментируй.

Я дарю тебе авторскую картинку. Рисовал ее сам для 5-й версии но сейчас в тренде уже
http://mvnrepository.com/artifact/org.apache.lucene/lucene-core/5.2.1

Еще по теме можешь почитать про Elastic Search. Это тоже Lucene + еще несколько умных
доработок и хороший веб-GUI.
...
Рейтинг: 0 / 0
Размер индекса solr / lucene
    #39030117
Прадед
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L7sanBez,
Спасибо. Согласен во всём. Но заказчик говорит, что размер исходных данных десятки терабайт (в моём прототипе 62 мб).
Стоимость дисков по-любому будет существенной частью стоимости системы.


Почитайте статью 600 терабайт в кармане брюк
Как раз про сжатие в полнотекстовых поисковых системах.

К Solr правда отношения не имеет.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Размер индекса solr / lucene
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]