Поисковик на MySQL + PHP :)

Кром

Новичок
>Патч 1.02:

Так а с кодировками вопрос решен? Потому что при поиске все что я вижу это :
12:10:46 - 12:10:46 0.23776698112488
3
И потом идет таблица с запросами. Или может так и должно быть? :)
 

Wicked

Новичок
лол :)
Я вроде ничего не менял, что могло бы сказаться на этом :)
Разве что такие вещи, как использование shc_simple вместо shc или изменение настроек.

Да, цифра 3 (как и любая другая, больше нуля) говорит о том, что результаты найдены.
В принципе, т.к. девелопера могут интересовать любые промежуточные результаты поиска, а не только итоговый TFxIDF, то все результаты вычислений остаются в базе данных.
Например после работы shc_simple, в ?TEMP18? хранится инфа о вхождениях слов (напомню, что именно слов, т.к. shc не умеет работать с фразами) запроса в тексты с указанием колчисества.
В ?TEMP_IDF? - инфа о IDF-весах слов запроса.
В ?TEMP19? - инфа об итоговых TFxIDF весах текстов.

В классе shc промежуточных таблиц и того больше, и около половины из них имеют подобный, потенциально важный, смысл.
 

asm

Пофигист
С патчем аналогично как и у Кром
Без патча писал ошибка с ключами база MySQL 3.23.53
 

Wicked

Новичок
В праздники нашлось немного времени.

В первую очередь занимался стороной developer-friendliness.
- Теперь файл class.php является более самодостаточным: удалена папка QUERIES2, где лежали шаблоны запросов. Сами запросы перенесены внутрь класса.
- Отказался от движка шаблонов ( ?BLABLABLA? ). Перешел на использование префиксов в именах таблиц, как в PHPBB2. Следовательно, теперь требуется гораздо меньше данных о метаданных обьектов (таблиц), с которыми будут работать эти классы (см. примеры) и работает несколько быстрее.

Начал прикручивать опциональность морфологии. Пока не работает, но и ничему не мешает :)

Вроде работает с mysql 4.1.8, осталось разобраться с кодировками :)

Поукрашал/посокращал код.

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

http://development1.key-soft.net/wicked/ENC11_1.1.RAR

-~{}~ 09.03.05 11:58:

PS: Что-то все никак не могу нарисовать нормальную презентацию, повествующую о том, как это все работает :)
Наверное придется рисовать на бумаге и сканировать :)

-~{}~ 09.03.05 16:00:

Вот сделал самую общую презентацию на тему того, какие роли у SHC :)
http://development1.key-soft.net/wicked/presentation.pdf

-~{}~ 20.04.05 17:21:

Если можно так сказать, вышел ENC12 :)

* Сделал мало-мальскую "административную панель" :) позволяет более осмысленно и более быстро совершать необходимые действия. см. index.html.

* Настройки теперь задаются через функции типа SetVar(). Те, которые считаю нужным уметь получать обратно, снабжены GetVar()'ом. Прошу обратить особое внимание на строчки типа
PHP:
extract($this->_settings, EXTR_SKIP);
в методах. Это чтобы не париться с $this->_settings["..."] и писать покороче.

* Теперь можно задать режим индексации, который будет добавлять в ispell слова, которых там еще нету, но которые встретились в индексируемом тексте. Ни о какой морфологии, понятное дело, речи не идет. Сделано это просто чтобы назначать ID начальным формам и словоформам, которые бы можно было использовать в инверсных индексах.

* В связи с пред. пунктом добавилась возможность backup'ить и restore'ить текущее состояние ISPELL (доступно так же через админку).

* Теперь используется стандартный TFxIDF. С нормированием по длине текста и т.д. Должно быть получше.

* вычисление TFxIDF теперь стало опциональным. В задачах классификации, например, оно просто не имеет смысла.

* добавилась таблица `{$prefix}CONFIG`, в которую при индексации складывается некоторая потенциально интересная информация.

* При переиндексации в `{$prefix}CONFIG`сохраняется "переменная" FINISHED, которая позволяет избежать работы с некорректными (недостроенными) инверсными индексами.

* дальнейшая работа по developer-friendly. Многии функции переименованы во что-нибудь более осмысленное.

* дальнейшая работа по оптимизации. Например таблицы теперь удаляются одним запросом, а не как попало.

* В поставку включен пример по одному процессу классификационной системы. Работает с математическими текстами на русском языке. (см. раздел "Classification:" в админке)

* В поставку поисковика включен финансовый словарь. (см. пункт "Enc (./TEXTS/)" в админке)

* В поставку поисковика включена еще одна независимая коллекция "текстов" :) (см. пункт "Bench (./BENCH/split/)" в админке)

http://development1.key-soft.net/wicked/ENC12.rar

-~{}~ 20.04.05 17:36:

забыл :)

* более правильный тест кодировок

* на старых версиях PHP больше не ворнингать из-за __FUNCTION__, __CLASS__

* "SET NAMES ..." выполняется в зависимости от версии mysql'я но теперь уже c этой проверкой на стороне PHP. Т.к. старые mysql'и ломались на конструкции /*!40100 ... */

* значительно доработан пример поисковика (см. ENC -> Search form)

* ...
 
Сверху