igorelf
Новичок
Поиск человека в базе данных. С релевантностью .
есть собственно база данных:
Нужно сделать поиск человека. Причем человек может путать местами имя и фамилию. То есть... Нужно человеку найти Suzuki Airi.
Он пишет:
1)Suzuki Airi
2)Airi Suzuki
3)Сузуки Айри
3)Айри Сузуки
Тут еще более менее понятно. Берем строку, разбиваем её на массив с двумя элементами. Ну и можно по очереди осуществить поиск, то есть.. определем язык.. Допустим если язык Рус то surname_rus like '%search[0]%' AND/OR name_rus like '%search[1]%' и потом наоборот( меняем местами search[0] и search[1] )
А если допустим мы ищим Хван Ин Рве ( Hwang In roi )?
Как тут тогда поступать, при условие, что человек может написать в поиске не Хван Ин Рве, а Ин Рве Хвен?
После этого желательно выводить по порядку: сверху наиболее релевантных к нашему запросу людей, а снизу если совпало только фамилия или имя.
Где копать? Заранее спасибо.
есть собственно база данных:
Код:
surname_rus | name_rus | suname_eng | name_eng
----------------------------------------------------------------------
Сузуки | Айри | Suzuki | Airi
Нужно сделать поиск человека. Причем человек может путать местами имя и фамилию. То есть... Нужно человеку найти Suzuki Airi.
Он пишет:
1)Suzuki Airi
2)Airi Suzuki
3)Сузуки Айри
3)Айри Сузуки
Тут еще более менее понятно. Берем строку, разбиваем её на массив с двумя элементами. Ну и можно по очереди осуществить поиск, то есть.. определем язык.. Допустим если язык Рус то surname_rus like '%search[0]%' AND/OR name_rus like '%search[1]%' и потом наоборот( меняем местами search[0] и search[1] )
А если допустим мы ищим Хван Ин Рве ( Hwang In roi )?
Код:
surname_rus | name_rus | suname_eng | name_eng
----------------------------------------------------------------------
Хван | Ин Рве | Hwang | In-roi
После этого желательно выводить по порядку: сверху наиболее релевантных к нашему запросу людей, а снизу если совпало только фамилия или имя.
Где копать? Заранее спасибо.