A
A
Anton Neverov2018-06-09 04:27:16
PHP
Anton Neverov, 2018-06-09 04:27:16

How to search for the most appropriate answer in MySQL/PHP by the keywords of the question?

Здравствуйте!
Есть база данных MySQL, которая имеет столбцы: keywords и answer.
В столбце keywords содержатся массивы ключевых слов в JSON-формате. Это могут быть как слова, так и фразы, например:
["тест", "тестовый", "тестовая фраза"]
или
["фраза"]
В столбце answer содержатся ответы на эти ключевые слова.
Есть сообщение: "тестовая фраза", как найти для неё более подходящий ответ, учитывая, что у нас есть вопрос с ключевым словом "фраза" и с ключевой фразой "тестовая фраза"?
Первая мысль - разбить фразу по слову и искать каждый ответ по "LIKE %тестовая% AND LIKE %фраза%", но в таком случае, если не будет в записи "%тестовая%", то база ничего не вернёт, хотя должны была бы найти совпадение хотя бы для "фраза".

Answer the question

In order to leave comments, you need to log in

1 answer(s)
Виталий, 2018-06-09
@TTATPuOT

С версии 5.7 mySql поддерживается JSON
для тестовая фраза боле подходящий будет тестовая фраза, а не фраза
Поэтому я бы сначала искал по точному соответствию, и если его нету и фраза - фраза, а не слово, то тогда бы уже разбивал по пробелам.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question