[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: скрипт объединения нескольких текстовых баз
patatois
Всем, здравствуйте!
В php я ни бум-бум и столкнулся с такой проблемой:
Нужен скрипт который будет обрабатывать файлы *.txt (файлы в utf-8) в папке со cкриптом (таких файлов штук 500). В файлах посторочно записаны запросы пользователей с частотностью (запрос:частотность). Количество строк в каждом файле около 100000. Нужно объединить файлы в один новый, соответственно находя дубликаты запросов во всех файлах и суммируя частотность. В выходном файле удалить все строки запросов с частотностью =1 и отсортировать по убыванию частотности. Ограничить потребление оперативной памяти на 125мб. Время выполнения скрипта роли не играет.
Пример данных в файле:
сталинград:241
реальные пацаны:199
фильмы:197
одинокий рейнджер:179
элизиум:168
pedo:145
интерны:136
карпов 2 сезон:134
porno:134
дурная кровь:132
риддик:115
музыка:112
фильмы 2013:111
околофутбола:108
кино:107
ххх:104
мы миллеры:103
человек из стали:103
маша и медведь:102

1) ограничить выделение памяти
2) создать новый файл temp.dat в директории со скриптом
3) ---- начало цикла ----
4) открыть рандомный .txt файл из директории и скопировать даннные из него в память
5) удалить файл из которого копировали данные
6) взять первую строку (фраза:частотность) из памяти и создать массив
7) искать точное совпадение "фраза" во всех остальных .txt файлах и при нахождении взять "частотность" и прибавить к начальной частотности
8) удалить из файлов строку с точным вхождением "фраза"
9) когда строки в памяти закончатся дописать данные в temp.dat --- конец цикла ---
10) когда файлы закончатся exit

Вроде бы не сложно... возможно кому-то на 5 минут и 10 строк...
Буду очень благодарен если поможете! Может у кого-то есть уже готовый подходящий скрипт.
YVSIK
patatois
и что дальше blink.gif
каковы решения вопроса если нАдА очень, если ни БУМ-БУМ,
найдутся те кто БУМ-БУМ, надо их как то заинтересовать жЕ
я так думаю!

что то тут взаимопомощью и не пахнет ))

чем будешь отдавать? страницами, кодами, может обещаниями, ну на худой конец: можно и тугриками.

о)) сразу и не заметил. наверное благодарностью smile.gif
а это скокО blink.gif вообще?

_____________
«Гнусное свойство карликовых умов приписывать
________________!свое духовное убожество другим!»
___
О) как-же он прав=>__________________ © Оноре де Бальзак.

отличный хост(рекомендую !! )
My MVC-CMV
Placido
Могу помочь только с алгоритмом - извини, желания писать код нет. Я бы сделал так: объединил бы все файлы в один, залил эти данные в базу с помощью LOAD DATA INFILE, а потом сделал бы что-то типа SELECT name, SUM(frequency) as freq GROUP BY name ORDER BY freq, после этого сохранил бы результат во внешний файл.
patatois
YVSIK я же написал, может есть у кого похожее...
но и тебе спасибо, твои слова очень важны в этом топике smile.gif
sergeiss
Цитата (Placido @ 9.11.2013 - 16:06)
...после этого сохранил бы результат во внешний файл

На месте ТС я бы эту фазу не стал делать smile.gif Если данные уже в БД, то зачем их опять в файл выкладывать? Их же потом выбирать/фильтровать сложно будет.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
patatois
нужно вообще без баз данных, только php и текстовые файлы
patatois
наверное начну, помолясь, писать сам smile.gif
разбираюсь как открыть рандомный файл из директории со скриптом... sad.gif
YVSIK
не надо хватать что под-руку подвернется.

Надо вот это почитать.

Сделать себе некий - список как план выполнения
потом начать по списку познавать


_____________
«Гнусное свойство карликовых умов приписывать
________________!свое духовное убожество другим!»
___
О) как-же он прав=>__________________ © Оноре де Бальзак.

отличный хост(рекомендую !! )
My MVC-CMV
twin
patatois
Цитата
В php я ни бум-бум и столкнулся с такой проблемой

Просто совет. Так больше не пиши на форум программистов. Это смотрится как:
Цитата
Я в ветиренарии не бум-бум и столкнулся с проблемой. Мой мопс сожрал 24 презерватива и теперь его пучит и из под хвоста пузыри. Я знаю, что у него внутри:
кишки 20м
печенка 1 шт
почки 2 шт
требуха (много)

Хотелось бы чтобы он был здоров, а так же ограничить его в:
1. Еде
2. Пореже выгуливать
3. Кусаецо, гат.

В каком месте его разрезать и что пришить, чтобы устранить неполадку?


Ну как минимум нужно представить свое решение или аалгоритм. Давайте уважать друг друга...

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
patatois
друзья! я в общем-то и не расчитывал, что кто-то будет писать за меня скрипт!!! просто возможно(!) кто-то уже писал такое... wink.gif
twin
Естественно писали. И таке и более другие.
Но для решеня вопроса как минимум нужно начало. Здесь помогают, а не решают задачи.

Покажите, где затык)))

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.