|
|
|
поиск по Blob-полю
|
|||
|---|---|---|---|
|
#18+
Доброе время суток. Подскажите, как произвести контекстный поиск по Blob-полю(ftFmtMemо) через SQL запрос? Обычное 'Select * from PNTR where Description like ''%'+ kwDescription.Text + '%'';' в данном случае не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 17:49 |
|
||
|
поиск по Blob-полю
|
|||
|---|---|---|---|
|
#18+
Привет, Mayor! Ты пишешь: MayorM> Подскажите, как произвести контекстный поиск по Blob-полю(ftFmtMemо) через SQL запрос? M> Обычное 'Select * from PNTR where Description like ''%'+ kwDescription.Text + '%'';' в данном случае не помогает. В где? Сервер какой? -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 17:57 |
|
||
|
поиск по Blob-полю
|
|||
|---|---|---|---|
|
#18+
Таблица в Paradox7 Запрос производится в Делфи, через компонент TQuery ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 18:56 |
|
||
|
поиск по Blob-полю
|
|||
|---|---|---|---|
|
#18+
Привет, Mayor! Ты пишешь: Mayor M> Таблица в Paradox7 M> Запрос производится в Делфи, через компонент TQueryТогда, у-вы. Суши вёсла. Local SQL не поддерживает клаузу CONTAINING. А LIKE работает, как они пишут, только с "...CHAR or compatible data types." У тебя BLOB как определён? Если не ошибаюсь, у Paradox есть специальный тип для текстовых БЛОБ-ов. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 19:06 |
|
||
|
поиск по Blob-полю
|
|||
|---|---|---|---|
|
#18+
МимопроходящийУ тебя BLOB как определён? Как Formatted Memo. С обычым Memo все нормально, но это и понятно, он "CHAR or compatible data types". Передо мной вот какая задача стоит: в базе должен храниться форматированный текст (я его потом в Word-e вывожу) и по этому тексту необходимо осуществлять контекстный поиск. Если не через Formatted Memo, то как? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 19:15 |
|
||
|
поиск по Blob-полю
|
|||
|---|---|---|---|
|
#18+
Привет, Mayor! Ты пишешь: MayorM> У тебя BLOB как определён? M> Как Formatted Memo. С обычым Memo все нормально, но это и понятно, он "CHAR or compatible data types". M> Передо мной вот какая задача стоит: в базе должен храниться форматированный текст (я его потом в Word-e вывожу) и по этому M> тексту необходимо осуществлять контекстный поиск. Если не через Formatted Memo, то как? :)Могу предложить только "избыточный" вариант. Завести ещё одно поле, обычное Memo, и в нем хранить Plain Text, в дополнение к RTF, который хранится в Formatted Memo. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 19:19 |
|
||
|
поиск по Blob-полю
|
|||
|---|---|---|---|
|
#18+
Второй вариант - создавать свой собственный поисковый индекс (таблицу), в которую заносить список слов для каждого текста, хранящегося в BLOB-е. Список слов (поисковый индекс) в этом случае придётся создавать, естесственно, самому. Плюсы такого решения: 1. Независимость от механизмов СУБД, т.к. поисковый механизм сделан собственноручно на основании функционала, предоставляемого самой СУБД; 2. Если оставаться в рамках стандарта языка SQL, то если понадобится перенос на другую СУБД значительно упростится. Минус, по моему один: 1. Рост объёмов БД - поисковые таблицы штука прожорливая. В качестве обоснования вышесказанного могу сказать следующее. В нашей фирме разработана собственная информационно-аналитическая система, в которой поисковый механизм устроен именно таким образом. Объёмы баз, которые на ней вертяться, колеблются в районе от 0.5 гигабайта до 1.8 гига. Система работает уже 4 года и на протяжении всего времени устройство поискового механизма в ней остаётся неизменным. Система успешно продаётся. Если будет интересно, Mayor, пиши в форум или на мне мыло оно под ником. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 11:45 |
|
||
|
поиск по Blob-полю
|
|||
|---|---|---|---|
|
#18+
RedborВторой вариант - создавать свой собственный поисковый индекс (таблицу), в которую заносить список слов для каждого текста, хранящегося в BLOB-е. Дело в том, что от меня требуют именно полноценный контекстный поиск по всему тексту, а не по ключевым словам. Сотрудник рассказывал, что на его преведущем месте работы, в аналогичной СУБД, проблема была решена. К сожалению, он не программист и технических подробностей не знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 13:04 |
|
||
|
поиск по Blob-полю
|
|||
|---|---|---|---|
|
#18+
Ну так и заноси ВСЕ слова текста в поисковую таблицу. И будет теье поиск не по ключевым словам, а полнотекстовый. И что значит "контекстный"? Поконкретнее можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 13:07 |
|
||
|
поиск по Blob-полю
|
|||
|---|---|---|---|
|
#18+
RedborНу так и заноси ВСЕ слова текста в поисковую таблицу. И будет теье поиск не по ключевым словам, а полнотекстовый. Это, по сути, то же самое, что предлагает Мимопроходящий. RedborИ что значит "контекстный"? Поконкретнее можно? Ищется вхождение подстроки в тексте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 13:12 |
|
||
|
поиск по Blob-полю
|
|||
|---|---|---|---|
|
#18+
Mayor RedborНу так и заноси ВСЕ слова текста в поисковую таблицу. И будет теье поиск не по ключевым словам, а полнотекстовый. Это, по сути, то же самое, что предлагает Мимопроходящий. Не совсем. Точнее, СОВСЕМ не. Если ты будешь хранить весь текст в одной строке, то при поиске ничего, кроме tablescan-а не получишь, на индексы и не надейся. Да, это будет полнотекстовый поиск, но ОЧЕНЬ медленный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 13:25 |
|
||
|
|

start [/forum/topic.php?fid=56&tid=2016706]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 350ms |

| 0 / 0 |
