Проблемы с настройкой пользовательской функции SQL в MySQL с использованием языка Java

У меня были некоторые трудности с попыткой создать определяемую пользователем функцию (UDF) в Java для моего сервера MySQL. Я надеялся, что смогу попросить помощи по этому вопросу.

Вот что я сделал до сих пор:

Я выполнил инструкции в сообщении Planet MySQL, но боюсь, что они могут устареть , так как файлы подключаемого модуля не содержат файл psm_java.so, который должен был существовать в руководстве.

Мне нужно реализовать расстояние Левенштейна в Java с учетом двух строк, чтобы я мог вернуть это значение обратно. Я знаю, как сделать эту часть, но я не смог выполнить часть взаимодействия с SQL.

Буду признателен за любую оказанную помощь.

Системная информация:

Mac OS X 10.7.2 MySQL 5.5.16


person Kaushik Shankar    schedule 01.11.2011    source источник
comment
Если это важно... Я сделал это около 2 лет назад (использовал C udf) и обнаружил, что это не так быстро. Затем я попробовал приблизительные соединения строк, и они тоже не были такими быстрыми. Для меня вытаскивание результирующего набора в JEE-контейнер и выполнение Левенштейна там было быстрее.   -  person Preston    schedule 01.11.2011
comment
К сожалению, это проектное задание, которое требует от меня такой обработки данных.   -  person Kaushik Shankar    schedule 01.11.2011
comment
Как бы я сделал это на C? Я нахожусь на своем Mac, и все учебники, похоже, указывают на Visual C++ как на необходимость для продолжения.   -  person Kaushik Shankar    schedule 01.11.2011
comment
Вы должны использовать Левенштейна или Яро Винклер (кстати, я думаю, что Яро лучше) будет работать?   -  person Preston    schedule 01.11.2011
comment
К сожалению, требуется вычислить расстояние Левенштейна, и только это.   -  person Kaushik Shankar    schedule 01.11.2011


Ответы (1)


Зачем выходить за пределы СУБД? Вы можете легко реализовать расстояние Левенштейна в пользовательской функции MySQL.

person Paul Sasik    schedule 01.11.2011
comment
Спасибо за это! Мои требования заключаются в том, чтобы сделать это на C или C++, но я ценю это. - person Kaushik Shankar; 01.11.2011