camka
не самка
эмитация полнотекстового индекса на PHP
Постановка задачи
-------------------------
Есть поисковик. На каждый запрос по поиску некой фразы он может выдавать N рекламных баннеров, так или иначе связаных с искомой фразой по ключевым словам. До сих пор все работало по логике точного совпадения. То есть если искомое слово полностью совпадает с проданным - показываются баннеры. Но пришли тяжкие времена. Кроме логики точного совпадение требуется внедрить еще и логику частичного совпадения. То есть, если искомая фраза в большей или меньшей степени соответствует некоторому количеству проданых слов, то отображать баннеры для этих слов.
В итоге родилась идея использовать полнотекстовой поиск для сортировки проданных слов по релевантности. Очень удобно и логично, учитывая, что морфологию можно (пока?) упустить. Чем больше похожи фразы (не текст, а именно фразы), тем больше шанс у соответствующего баннера быть отображенным.
Порблема в том, что связи с базой у меня на фронтэнде нету. Раз в день генерируются подключаемые файлы для каждого проданного слова и впоследствие копируются на фронтэтд, где успешно подключаются в случае совпадения с искомой фразой.
Вот и родилась идея сэмулировать полнотекстовой индекс и интерфейс для поиска по нему, прям как в MySQL. При генерации подключаемых файлов заодно генерировать и сей индекс, потом кидать его на фронтэнд, и там уже искать соответствия с искомой фразой и отдавать полученные результаты.
Вопров в том, где можно достать алгоритм работы подобного индекса, если это какая-то классика. Или может кто подскажет, иной вариант решения, или иной подходящий алгоритм. Но уж больно мне этот фуллтекст люб. Изумительно подходит. Плюс еще база у нас той версии, что пока не ведает о UTF-8.
Посоветуйте кто на что горазд или же отговорите меня от этой безумной идеи.
Спасибо.
-~{}~ 07.01.05 15:26:
О... нарвался на многосёрч... изучимс
-~{}~ 07.01.05 17:39:
Похоже, что он слишком громоздкий для такой маленькой задачи
Постановка задачи
-------------------------
Есть поисковик. На каждый запрос по поиску некой фразы он может выдавать N рекламных баннеров, так или иначе связаных с искомой фразой по ключевым словам. До сих пор все работало по логике точного совпадения. То есть если искомое слово полностью совпадает с проданным - показываются баннеры. Но пришли тяжкие времена. Кроме логики точного совпадение требуется внедрить еще и логику частичного совпадения. То есть, если искомая фраза в большей или меньшей степени соответствует некоторому количеству проданых слов, то отображать баннеры для этих слов.
В итоге родилась идея использовать полнотекстовой поиск для сортировки проданных слов по релевантности. Очень удобно и логично, учитывая, что морфологию можно (пока?) упустить. Чем больше похожи фразы (не текст, а именно фразы), тем больше шанс у соответствующего баннера быть отображенным.
Порблема в том, что связи с базой у меня на фронтэнде нету. Раз в день генерируются подключаемые файлы для каждого проданного слова и впоследствие копируются на фронтэтд, где успешно подключаются в случае совпадения с искомой фразой.
Вот и родилась идея сэмулировать полнотекстовой индекс и интерфейс для поиска по нему, прям как в MySQL. При генерации подключаемых файлов заодно генерировать и сей индекс, потом кидать его на фронтэнд, и там уже искать соответствия с искомой фразой и отдавать полученные результаты.
Вопров в том, где можно достать алгоритм работы подобного индекса, если это какая-то классика. Или может кто подскажет, иной вариант решения, или иной подходящий алгоритм. Но уж больно мне этот фуллтекст люб. Изумительно подходит. Плюс еще база у нас той версии, что пока не ведает о UTF-8.
Посоветуйте кто на что горазд или же отговорите меня от этой безумной идеи.
Спасибо.
-~{}~ 07.01.05 15:26:
О... нарвался на многосёрч... изучимс
-~{}~ 07.01.05 17:39:
Похоже, что он слишком громоздкий для такой маленькой задачи