Sevix

Sevix
Рейтинг
93
Регистрация
24.10.2011

Samail, Спасибо.

Shing:
seoquake не?

Тоже вспомнил, решил попробовать. Но как увидел этот тормознутый ужас, снес тутже. Это уже не та панелька.

X-Software:
Логика предельно простая: есть в файле определенное кол-во строк. Если у нас есть 1 условие проверки, то программа делает следующее: проходит файл построчно и выполняет 1 условие на каждую строку. Если у нас есть 2 условия, то на каждую строку выполняются уже 2 условия. И если у нас в файле, например, миллиард строк, то в первом случае у нас был миллиард операций, а во втором - 2 миллиарда операций поиска подстроки в строке. Это, так или иначе, пропорционально увеличивает расход процессорного времени и на больших объемах при увеличении количества условий скорость пропорционально падает.

Понятно, спасибо за разъяснение.

Однако не понятно, почему когда я просто делаю выборку по одной фразе (слово+слово), время одно.

А когда то же самое, но с сохранением в файл (Слово:=Имя_файла.txt), время увеличивается в 1.5-2 раза.

Неужели сохранение в файл требует так много дополнительных действий?

Повторюсь, выборка производится по одной фразе.

И еще. Не понятно, почему Вы считаете условие "#слово+#слово" какой-то дополнительной, неизвестно зачем нужной фишкой. Это - первое, что должно было бы быть в программе.

Делаю выборку по условию "нейл+арт"

В результатах:

картинка нейлонового протеза

диснейленд орландо на карте

порно фото рассказы картинки девочек в нейлоне...

и т.д.

А нужен - "нейл арт"

Мусора больше половины, только потому, что невозможно ограничение сделать.

И так каждый раз. Понятно, что потом можно чистить регулярками и т.д. Но непонятно, почему это нельзя внедрить в прогу. Условие "#слово" - есть, а условия "#слово+#слово" - нету.

Спасибо.

Sobes:
Здравствуйте. Первое время был впечатлён результатами Вашей , действительно уникальной и очень полезной прогой.
Однако, бесплатный сыр бывает только в Мышеловке.
За очень короткое время 3 HDD вышли из строя.
Причём вышли именно те, где стоял Букварикс.
Видимо, файловая система настолько неприспособлена к NTFS, что диски с ума сходят!
В результате ущерб - более 10 тыс. рублей. Не думайте, что это претензия. Просто было бы полезно указать, что без SSD не рекомендуется пользоваться Вашей программой, таr как это скоро приведёт к гибели обычного HD.

Sobes, харды случайно не в одном и том же месте покупали?

За температурой следите? Может охлаждение в этом месте плохое?

БП дорогой и хороший? У дешевых часто сильная пульсация по линиям +5 и +12В, а это смерть для харда.

MIND, опять немного не то.

Таким образом, фраза "адапторы для наушников для телефона телефона" тоже не попадает под фильтр, потому что стоит исключение "для".

А нужно, чтобы "адапторы для наушников для телефона телефона" фильтровалась, а фразу "адапторы для наушников для телефона" не затрагивало.

То есть, даже если во фразе присутствуют повторы исключаемых слов, но есть повторы любых остальных слов, чтоб попадало под фильтр.

А если повторов любых других слов нету, а только повторы слов, которые мы исключаем, чтобы под фильтр не попадало.

Возможно такое?

IBakalov:
MyOST, как на счет для встроенного фильтра "содержит повторы слов" добавить возможность задавать исключения? Ну чтобы не вычеркивать фразы типа "холодильник в машину в москве".
Реализовать можно по аналогии с:

Функция очень нужная! Предагал уже, почти год назад. MIND сказал, что это возможно сделать в несколько этапов. Только не объяснил как. Я до сих пор решения так и не нашел.

Время выборки для одного сова (или слово+слово) из моей базы занимает примерно 50-60 мин.

Логично было бы предположить, что если делать выборку для более чем одной фразы, время должно быть примерно таким же (+ -), с разницей только, что для каждого слова создается свой файл.

Но нет. Мало того, что итоговое время становится = время для каждого слова помноженное на количество слов (файлов) в выборке, так еще и для каждого отдельно взятого слова время увеличивается более чем в 2 раза.

Как будто программа проходит всю базу сначала для одного слова, потом для другого, опять с самого начала.

И + еще на что-то, так как итоговое время больше, чем если выбирать по одному слову.

То есть, для одного слова нужно 60 мин.

Ставлю на выборку по 2 словам (с условием - каждое в свой файл) - нужно примерно 3 ч.

Поставил выборку по 5 словам - за 2 часа прогресс бар сдвинулся на 1 мм. Вырубил нафик и начал выбирать по одному слову.

Почему так? Какова логика работы?

Bukvarix:
судя по описанию ошибки в вебе это не PostgreSQL, а проблема совместимости Microsoft Visual C++ redistributable (старых и новых версий, в установке PostgreSQL включен в установщик).

Вот, например, предложение решения проблемы (в самом низу страницы):
http://forums.enterprisedb.com/posts/list/3897.page

Спасибо большое! Помогло.

Всего: 156