Добрый день.
Стоит задача сделать аналогичный поиск:
http://www.e-katalog.com.ua/all2find.php?search_=afsafD840fwef&useSession_%5BidBrand_%5D=&id=122
Я не могу понять логику

Направьте на путь истинный плз
Здравствуйте, Krisha, Вы писали:
[]
K>Я не могу понять логику
Направьте на путь истинный плз
Имхо логика довольно проста: постулируем минимальную длину строки для поиска равную, например, 3 буквам. В случае, если по введенной строке поиска ничего не найдено, создаем список подстрок, циклически сдвигаясь на один символ в строке. Каждая подстрока будет длиной "минимальная длина строки для поиска". Так, в приведенном вами примере лексемы будут такими:
afs
fsa
saf
afD
840
40f
0fw
fwe
wef
Выбрасываем повторяющиеся, если есть, и ищем по LIKE. Вот и все.
Примерно такой-же алгоритм применяется на сайте по указанной вами ссылке, что подтверждает следующий факт: несмотря на то, что есть радиотелефон марки XD1220, в поиске находится "проекционный переносной экран ....
1220:
здесь.
З.Ы. минимальная длина лексемы подбирается по вкусу и может быть равна, например, 4-м.
<< Лень — мать всех пороков, а родителей нужно уважать. >>
Здравствуйте, Flamer, Вы писали:
F>Имхо логика довольно проста:
А может и не так
В строке поиска "nokiaD840sony" вываливает только самсунги, nokia и sony в пролете
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, spyse, Вы писали:
F>>Имхо логика довольно проста:
S>А может и не так
S>В строке поиска "nokiaD840sony" вываливает только самсунги, nokia и sony в пролете
Ну я же не говорил, что на том сайте реализован именно такой вариант. Имхо предложенный мной будет получше в случае приведенной строчки

<< Если человек рождается бедным и некрасивым, то в дальнейшем он имеет много шансов развить оба этих качества. >>