0 Пользователей и 1 Гость просматривают эту тему.
  • 13 Ответов
  • 1814 Просмотров
*

Magi

  • Захожу иногда
  • 113
  • 0 / 0
Здравствуйте!

Сервер Intel Core2 CPU  6600  2.40GHz, 2 Gb RAM

FreeBSD 10, MySQL 5.6., nginx 1.6.2, php56-fpm, Joomla 3, K2 2.6.8

Есть архив документов в текстовом файле вот такого формата.
Около 50000 записей объемом ~3 Гб
Название документа
<Текст названия>
Примечание к документу
<Текст примечания>
Текст документа
<Текст документа>

Название документа
Федеральный закон от 21.11.2011 N 323-ФЗ
(ред. от 22.10.2014)
"Об основах охраны здоровья граждан в Российской Федерации"
Примечание к документу
О вступлении в силу отдельных положений см. статью 101 данного документа.
Текст документа

21 ноября 2011 года N 323-ФЗ

------------------------------------------------------------------

РОССИЙСКАЯ ФЕДЕРАЦИЯ

ФЕДЕРАЛЬНЫЙ ЗАКОН
....
здесь текст на несколько (иногда десятков) страниц

Текст загружен в такую таблицу.

CREATE TABLE IF NOT EXISTS `articles` (
  `name` mediumtext,
  `body` mediumtext,
  `comments` text
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Всего около 50000 записей.

Нужно, чтобы выводилось скажем 5-10 последних добавленных документов с вводным текстом и ссылкой "Далее" на полный текст документа и пагинацией.
Как это можно организовать?

Посоветовали ознакомится с поисковой системой sphinx
Есть компонент http://www.ivinco.com/software/joomla-sphinx-search-component-tutorial/ , но он заточен под стандартные материалы Joomla, боюсь сервер не выдержит, если попытаться в БД Joomla, т.к. в k2 уже 33000 новостей на ~350 мб.

Подскажите пожалуйста, как можно все это оптимизировать для создания поиска на по базе сайте? Индексы как-то создавать? Формат таблицы может быть поменять?
« Последнее редактирование: 17.11.2014, 09:14:11 от Magi »
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Чем можно выводить большие тексты?
« Ответ #1 : 17.11.2014, 04:20:09 »
Вопрос то в чем?

Я так понимаю, надо компонент написать.
*

Karyuudo

  • Захожу иногда
  • 354
  • 0 / 0
Re: Чем можно выводить большие тексты?
« Ответ #2 : 11.12.2014, 15:07:56 »
была та же проблема.
около 10 000 документов в Wordе, при этом при копипасте из Wordа в Joomla вставлялось куча мусора.
задачу решил, правда несколько оригинальным и не оч эффективным способом, но это лучше чем ничего:

при помощи программы uopilot записал макрос, путем нажатие кнопок на клавиатуре, типа
стрелка вниз, энтер, ctrl+a, ctrl+c, alt+tab (в окно дримвивера, чтоб код очистился), ctrl+v, снова ctrl+a, ctrl+c, alt+tab (окно добавления материала Joomla), ctrl+v, опять альтаб, скопировать название файла (его номер и дата) и вставить в заголовок материала.

ну как-то так, суть думаю ясна, можно и мышкой, но мышка иногда чето глючит бывает + на клавиатуре быстрее идет процесс.
« Последнее редактирование: 11.12.2014, 15:14:16 от Karyuudo »
*

Magi

  • Захожу иногда
  • 113
  • 0 / 0
Re: Чем можно выводить большие тексты?
« Ответ #3 : 11.12.2014, 23:32:59 »
Оригинально. Спасибо за наводку, попробую программку, может пригодится для другой нудной задачи.
А по поводу этой, как ты это циклически делал? Ведь нужно записать 1 раз, а потом указать повторить это 10000 раз.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Чем можно выводить большие тексты?
« Ответ #4 : 11.12.2014, 23:54:26 »
Magi
Еще раз давайте
Где хранятся данные (файлы, бд)?
В каком формате (plain text или аля xml)?
Я пока не очень понимаю где что вы храните, потому не могу дать советов

Виноват, недочитал до конца
Вижу таблицу
Код: sql
CREATE TABLE IF NOT EXISTS `articles` (
  `name` mediumtext,
  `body` mediumtext,
  `comments` text
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

1 - нужно добавить индексы, если по этой таблице идет поиск
2 - можно вынести блок dody в текстовый файл и подгружать по необходимости, база будет легче, поиска нет
3 - полнотекстовый индекс по ячейке боди не поможет, если там много мегабайт

« Последнее редактирование: 11.12.2014, 23:57:35 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Magi

  • Захожу иногда
  • 113
  • 0 / 0
Re: Чем можно выводить большие тексты?
« Ответ #5 : 12.12.2014, 09:10:59 »
С момента написания первого сообщения кое-что изменилось. Знакомый написал конвертор на питоне, который отпарсил текстовые файлы и загрузил их в com_content. Т.е. name - стал title, body - fulltext, comments - introtext.
Всего было 11 больших текстовых файлов объемом 2 ГБ с документами (БД по законодательству, могу поделится, если кого-то интересует - способ универсальный), которые загружены в 11 подкатегорий в Joomla. Теперь основная проблема - организация поиска в этом массиве, т.к. стандартный не справляется - очень долго ищет, затем nginx выдает ошибку по таймауту.
Хочу использовать поисковый движок Sphinx, но пока безуспешно.
Проблему описал тут http://joomlaforum.ru/index.php/topic,305256.msg1514968.html#msg1514968

И еще один момент скрипт парсинга не учитывает форматирование текста - поэтому на сайте все выглядит сплошным текстом, что трудночитаемо и тут или нужна помощь сообщества для доработки парсера с учетом форматирования текста или приходится обращаться к вышеприведенному примеру с uopilot.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Чем можно выводить большие тексты?
« Ответ #6 : 16.12.2014, 01:00:10 »
И еще один момент скрипт парсинга не учитывает форматирование текста - поэтому на сайте все выглядит сплошным текстом, что трудночитаемо и тут или нужна помощь сообщества для доработки парсера с учетом форматирования текста или приходится обращаться к вышеприведенному примеру с uopilot.
Это уже после конвертера от знакомого? Можно увидеть кусок текста в бд, что на фронте не отображается форматированием?

Всего было 11 больших текстовых файлов объемом 2 ГБ с документами, которые загружены в 11 подкатегорий в Joomla.
Сколько теперь материалов в этих категориях и какого они объема (всего и каждый)?

Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Magi

  • Захожу иногда
  • 113
  • 0 / 0
Re: Чем можно выводить большие тексты?
« Ответ #7 : 16.12.2014, 10:32:03 »
Это уже после конвертера от знакомого? Можно увидеть кусок текста в бд, что на фронте не отображается форматированием?
Сколько теперь материалов в этих категориях и какого они объема (всего и каждый)?

Посмотрел в базу через phpMyAdmin. В поле fulltext нормально.

"ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ

ПОСТАНОВЛЕНИЕ
от 2 августа 2014 г. N 766

О ПОДГОТОВКЕ И ПРЕДСТАВЛЕНИИ
ПАЛАТАМ ФЕДЕРАЛЬНОГО СОБРАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ГОСУДАРСТВЕННОГО ДОКЛАДА О РЕАЛИЗАЦИИ ГОСУДАРСТВЕННОЙ
ПОЛИТИКИ В СФЕРЕ ОХРАНЫ ЗДОРОВЬЯ
...."

Но на сайте текст сплошняком (другой документ):
"ПРАВИТЕЛЬСТВО МОСКВЫ КОМИТЕТ ЗДРАВООХРАНЕНИЯ ПРИКАЗ 8 сентября 1997 г. N 483 О МЕРАХ ПО РЕАЛИЗАЦИИ СОГЛАШЕНИЙ О СОТРУДНИЧЕСТВЕ В ОБЛАСТИ ЗДРАВООХРАНЕНИЯ МЕЖДУ МИНИСТЕРСТВОМ ЗДРАВООХРАНЕНИЯ АЗЕРБАЙДЖАНСКОЙ РЕСПУБЛИКИ, ГЛАВНЫМ УПРАВЛЕНИЕМ ЗДРАВООХРАНЕНИЯ БАКУ И КОМИТЕТОМ ЗДРАВООХРАНЕНИЯ Г. МОСКВЫ Во исполнение Распоряжения Мэра Москвы Ю.М.Лужкова N 645-РМ от 20.08.97 г. "Об обеспечении выполнения Соглашений между Правительством Москвы и Правительством Азербайджанской Республики, Исполнительной властью г. Баку", 1. Объявляю: 1.1. Соглашения о сотрудничестве в области здравоохранения между Министерством здравоохранения Азербайджанской Республики, Главным управлением здравоохранения г. Баку и Комитетом здравоохранения г. Москвы (приложения N 1 и 2 к настоящему приказу); 2. ПРИКАЗЫВАЮ: "

69919 документов в utf-8, общий объем 3,3 Гб
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Чем можно выводить большие тексты?
« Ответ #8 : 16.12.2014, 10:44:43 »

69919 документов в utf-8, общий объем 3,3 Гб

Оно ж жутко тормозить будет если через стандартный com_content выводить.
Вот тестил.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Чем можно выводить большие тексты?
« Ответ #9 : 16.12.2014, 10:48:22 »
а средний объем одного документа?
Как вообще сайт ворочается при таких объемах контента? Хостинг виртуальный обычный?

Применить полнотекстовый индекс пробовали? http://habrahabr.ru/post/40218/

В общем задачка интересная, если есть возможно сделать резервную копию для текстов и экспериментов я бы поковырялся
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Чем можно выводить большие тексты?
« Ответ #10 : 16.12.2014, 10:49:46 »
Вот тестил.
Там ни слова про параметры сервера, на виртуалке будет тупить, под такие объемы нужен хотя бы вдс, вот там и сравнивать
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Magi

  • Захожу иногда
  • 113
  • 0 / 0
Re: Чем можно выводить большие тексты?
« Ответ #11 : 16.12.2014, 11:02:17 »
Сейчас в личку расскажу.
 
*

Magi

  • Захожу иногда
  • 113
  • 0 / 0
Re: Чем можно выводить большие тексты?
« Ответ #12 : 16.12.2014, 11:03:08 »
Сейчас в личку расскажу.
 
Это voland на моей старой базе тестил! ;)
« Последнее редактирование: 16.12.2014, 11:25:28 от Magi »
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Чем можно выводить большие тексты?
« Ответ #13 : 16.12.2014, 11:30:38 »
Там ни слова про параметры сервера, на виртуалке будет тупить, под такие объемы нужен хотя бы вдс, вот там и сравнивать
Как это ни слова?
Цитировать
тесты выполнялись на VDS 2000Мгц\2Гб ненагруженном
, винт был обычный, не SSD, сама ВДСка без оверселла, от ihc
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Каким компонентом можно реализовать сайт трекинга посылок?

Автор isa-laboratory

Ответов: 4
Просмотров: 2581
Последний ответ 10.01.2024, 21:42:36
от Vastriet
Можно ли на Joomla реализовать подобный конструктор дверей?

Автор kos0760

Ответов: 15
Просмотров: 2767
Последний ответ 03.02.2022, 18:31:21
от nikolayms
Ищу галерею где можно размещать и картинки и видео

Автор mak200

Ответов: 0
Просмотров: 778
Последний ответ 02.02.2022, 12:55:40
от mak200
На чем можно реализовать такую структуру?

Автор fbr

Ответов: 9
Просмотров: 1058
Последний ответ 04.10.2021, 14:42:34
от effrit
На чем можно реализовать?

Автор misteri27

Ответов: 9
Просмотров: 922
Последний ответ 14.01.2021, 14:26:31
от misteri27