Алгоритм ранжирования строк в mySQL
Алгоритмы оценки Quicksilver
Порт PHP
Порт Javascript
MySql Port (о, нет ссылки), это моя проблема. Продолжайте читать
Пример использования:
score("hello world","axl") //=> 0.0
score("hello world","ow") //=> 0.6
score("hello world","hello world") //=> 1.0
Хорошо, поэтому мой вопрос лежит здесь.Как бы это ни было здорово, И спасибо тем, кто делает это возможным!Я хотел бы за MySQL способ сделать это.База данных не моя область знаний, но , если бы я хотел сделать это только на MySQL, как бы я это сделал? И Должен ли я найти лучший способ? .
Я так думаю об этом.
Пример из реальной жизни:
У меня есть 14000+ записей в моей базе данных.Таблица медицинских кодов " ICD9 ", в которой есть медицинский код и описание.
Таблица:
ICD9_codes
Поля:
code
code_text
Я выполняю aJax-вызов jQuery дляФункция PHP.
$query = $this->db->query("SELECT code, code_text FROM codes WHERE MATCH (code,code_text) AGAINST ('" .$q. "')");
Это работает, и это нормально.Но Мое истинное желание сердца состоит в том, чтобы использовать Алгоритм подсчета очков !
Теперь Исправьте меня , если я ошибаюсь, и я очень хорошо могу быть, поэтому я был бы шокирован, если бывы делаете:)
Я думаю, что это очень дорогой процесс поиска более 14000 записей.(даже с минимальным значением 2 символа) с помощью автозаполнения jQuery.(и это может не понравиться некоторым, потому что, как я сказал: «База данных - это не моя область знаний»)
Так вот что я хотел бы знать.Стоит ли кому-то тратить время на то, чтобы знать MySQL и получить оценку функции MySQL, эквивалентную
Select code, code_text, score("hello world","ow") from ICD9_codes
Если у вас есть плюсы или минусы идеи, хотелось бы услышать?или знаете лучший способ:)
Плюсы:
- Собственный способ MySQL иметь алгоритм поиска
Минусы:
- Если у меня нет контроля над базой данных, я не могу добавить оценку функции mysql ()(что оставило бы меня там, где я был прежде, чтобы сделать это в php или javascript )
В это время там проскользнет (Stackoverflow Awesome!!! потрясающее сообщество!) Спасибо, Дастин