Приведенная строка слов: Как найти каждое слово (без учета регистра) в столбце varchar (1000) в MySQL, игнорируя пунктуацию? - PullRequest
1 голос
/ 06 августа 2011

У меня есть две базы данных a и b с названиями научных работ в них.Я хочу объединить эти базы данных в одну единственную базу данных c.

  • Возможно, что a содержит заголовки, которых нет в b и наоборот.
  • Этовозможно, что заголовок находится в обеих базах данных a и b.
  • Возможно, что буквы и знаки препинания не совпадают:
    • "Это заголовок«.VS.«это заголовок»
    • «это - еще один - заголовок».VS.«Это еще один заголовок»
    • «Алгоритм среднего значения, основанный на бла».VS «Алгоритм k-означает, основанный на Bla»строк я не знаю, будет ли это работать достаточно хорошо.Затем я подумал о полнотекстовом поиске, который бы соответствовал заголовкам, но, насколько мне известно, полнотекстовый поиск не соответствует общим словам , поэтому совпадения не будут хорошо работать с похожими заголовками, которые на самом деле отличаются.1029 * Мне не нужно 100% в процедуре сопоставления в результате.Но я хочу, чтобы ставка была как можно выше.Любой совет?

1 Ответ

1 голос
/ 06 августа 2011

Одна идея, которая приходит в голову, - создать столбец поиска, содержащий текст без знаков препинания и в нижнем регистре, и сравнить его.

Если вы используете какой-либо другой язык или платформу в связи с mySQLТам может быть проще всего сделать нормализацию - я не могу придумать встроенную функцию mySQL для удаления знаков препинания и тому подобного.Это, конечно, возможно, но, возможно, только с использованием адски сложного набора REPLACE() вызовов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...