#php #mysql
#php #mysql
Вопрос:
Что я должен использовать для поиска по ключевому слову с помощью mysql?
У меня есть слово, и в запросе у меня есть
wordless
something word something
someword some
else
other
wordother
thingword
Я хочу вывести все, что содержит слово внутри него, но вывод должен быть похож на первые выводимые строки, чтобы быть строками со словом в качестве первой буквы в них, например
wordless — будет первым, потому что word — это первые символы слова wordless и слова other, которые будут выведены в первые выводимые строки, затем после них выводить something word something и т.д., Каждое слово, содержащее слово name, но опять же сначала выводить те строки, в первых символах которых есть слово.
Редактировать:
SELECT *,MATCH(add_songName) AGAINST('d' IN BOOLEAN MODE) as
оценка FROM songs WHERE MATCH(add_songName) AGAINST('d') ORDER BY
score DESC
, здесь я ищу d, но это выдает мне ошибку —
Can't find FULLTEXT index matching the column list SELECT *,MATCH(add_songName) AGAINST('d' IN BOOLEAN MODE) as `score` FROM songs WHERE MATCH(add_songName) AGAINST('d') ORDER BY `score` DESC
Комментарии:
1. вы уже пробовали что-нибудь сами? Есть какой-нибудь код? Проводил какие-либо исследования? Пробовал Google? Копирование названия вашего поста в Google возвращает несколько очень полезных ссылок….
2.
field LIKE '%keyword%'
3. «Не удается найти ПОЛНОТЕКСТОВЫЙ индекс», затем добавьте полнотекстовый индекс…
Ответ №1:
Попробуйте использовать алгоритм Левенштейна в MySQL.
Сопоставление по Левенштейну — это показатель для измерения величины разницы между двумя последовательностями, здесь это строки. По умолчанию в MySQL нет этой функции, но вы можете написать и добавить ее.
Пожалуйста, взгляните на приведенный здесь код и добавьте этот код в качестве системной функции в MySQL, пожалуйста, смотрите пример ниже о том, как получить сходство двух строк.
Пожалуйста, смотрите:https://github.com/rakesh-sankar/Tools/blob/master/MySQL/Levenshtein.txt
Пример:
ВЫБЕРИТЕ column1, LEVENSHTEIN(column1, ‘matchme’) КАК perfectmatch ИЗ sometable ORDER С ПОМОЩЬЮ perfectmatch DESC