|
|
|
методы поиска в БД
|
|||
|---|---|---|---|
|
#18+
Интересно мнение людей по методам поиска в базе. Это не относится конкретно к БД MSSQL, но подходящего форума я не нашел. Интересуют методы реализации быстрого поиска в БД, но скорее не на основе составления индекса слов по базе (fulltext index). Имхо, поиск по проиндексированным словам не удобен и найти в нем что либо проблематично (особенно когда записи составляют не словесный текст), хотя и работает он очень быстро. Для примера можно взять ситуацию: есть запись "Привет страна", записей подобных скажем около 1 млн. И по поиску "трана", все таки найти эту запись с приемлемой скоростью. Я уже искал подобную информацию и мне подсказали один из вариантов поиска (не на этом сервере). С Вашего разрешения я процитирую ответ: Guderian Поищи ternary trees. Правда там вроде не будет информации про разбиение на трехсимвольные сочетания. Я вспомнил, что этим пользовался когда пытался реализовать аналог SOUNDEX. Но общий эскиз, который я вижу, таков - ternary дерево позволит тебе проиндексировать различные трехбуквенные вхождения. Добавь к этому информацию, скажем, о том, относятся ли эти тройки к одному слову и какова их позиция в нем. Потом разбиваешь искомую фразу на такие же тройки и по тернарному дереву их ищешь. Результат сортируешь по факту вхождения в одно слово и можно учесть позиции триад слове. В итоге на запрос "трана" ты с высокой степенью релевантности найдешь "страна" и прочие ее склонения. Можно также поиграться и с блоками по четыре буквы. Такой вариант, тоже имеет свои плюсы и минусы. Буду благодарен за идеи и информацию. Если есть ссылки по этому поводу, кидайте с удовольствием почитаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2006, 16:58 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33665209&tid=1545321]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
152ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
21ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 412ms |

| 0 / 0 |
