|
|
|
Задачка со строками
|
|||
|---|---|---|---|
|
#18+
Вот есть такая задачка... Хитрый поиск ключевых фраз. Есть таблица, в которую занесены фразы из произвольного количества слов (ну, в некоторых разумных пределах, от одного до, скажем, 6-7). И нужно для входящего запроса из, опять же, в тех же разумных пределах произвольного количества слов найти все записи в базе, удовлетворяющие одному из двух условий: либо эти записи целиком умещаются во входящем запросе, например по входящему запроосу "российские железные дороги" по этому критерию в базе должны найтись записи: "российские дороги", "железные дороги", "российские", "железные", "дороги". Но не "железные двери" или "российские авиалинии". либо записи, которые, наоборот, целиком включат в себя входящий запрос. Т.е. на "железные дороги" должны найтись "российские железные дороги", "узкоколейные железные дороги" и т.п. Если со второй частью всё просто -- полнотекстовый индекс и поиск по соответствию в бинарном режиме, то с первой частью всё обстоит куда хуже -- я не могу придумать адекватной формализации этого условия.( Есть какие-нибудь идеи? Скажу сразу, структура базы не догма и обсуждаема, но интересуют только быстрые запросы, т.к. записей довольно много и результаты нужны в интерактивном режиме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2005, 23:18:18 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=651&tid=1853754]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 312ms |

| 0 / 0 |
