MySQL
+----+-------------------+----------+--------------+
| id | address | city | state |
+----+-------------------+----------+--------------+
| 1 | 13000 highway 244 | keystone | south dakota |
+----+-------------------+----------+--------------+
(кстати, я упустил некоторые столбцы, чтобы было проще)
PHP
$string = mysql_real_escape_string('13000 highway 244 south dakota');
$a = mysql_query("
SELECT * FROM `table` WHERE
CONCAT_WS(' ', `address`, `city`, `state`) LIKE '%$string%'
");
Приведенный выше поисковый запрос не возвращает результатов, будет работать только следующее values
:
- 13000 шоссе 244 Keystone Южная Дакота
- 13000 шоссе 244 трапецеидальных искажений
- Трапецеидальный камень Южная Дакота
Однако я также хочу заставить работать values
:
- 13000 шоссе 244 Южная Дакота
- 13000 шоссе трапецеидальных искажений
- Трасса, основанная на шоссе Южная Дакота
- и т.д.
Возможно ли это даже не полагаясь на full-text search
?