Re: Поиск. Как это может быть ?!
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 07.11.07 08:42
Оценка:
Здравствуйте, Krisha, Вы писали:

[]

K>Я не могу понять логику Направьте на путь истинный плз


Имхо логика довольно проста: постулируем минимальную длину строки для поиска равную, например, 3 буквам. В случае, если по введенной строке поиска ничего не найдено, создаем список подстрок, циклически сдвигаясь на один символ в строке. Каждая подстрока будет длиной "минимальная длина строки для поиска". Так, в приведенном вами примере лексемы будут такими:

afs
fsa
saf
afD
840
40f
0fw
fwe
wef


Выбрасываем повторяющиеся, если есть, и ищем по LIKE. Вот и все.

Примерно такой-же алгоритм применяется на сайте по указанной вами ссылке, что подтверждает следующий факт: несмотря на то, что есть радиотелефон марки XD1220, в поиске находится "проекционный переносной экран .... 1220: здесь.

З.Ы. минимальная длина лексемы подбирается по вкусу и может быть равна, например, 4-м.
<< Лень — мать всех пороков, а родителей нужно уважать. >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.