Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / поиск в текстовых полях значения с опечаткой и не одной .... / 18 сообщений из 18, страница 1 из 1
12.07.2005, 16:10
    #33161763
поиск в текстовых полях значения с опечаткой и не одной ....
Здравствуйте на много лет.
Вопросец в следующем:
необходимость есть реализовать поиск в текст. (CHAR) полях значения с неполным совпадением, различие в одном (неск) символах.
свои соображения:
- индексы тут не помогут (хотя может о каких-то еще на знаю);
- средствами SQL (опер.LIKE приточить) ??? ;
- остается тока некую процу писать, однако это весьма дорого получиться по времени выполнения.

Может применительно к DB2 есть для инструмены сиё умеющие.
...
Рейтинг: 0 / 0
12.07.2005, 22:12
    #33162367
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
писал для MSSQL но с небольшими передалками можно сделать для DB2

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE FUNCTION fnSim( @fword1 nvarchar( 64 ), @fword2 nvarchar( 64 ), @lenw int ) 
RETURNS FLOAT
AS
BEGIN
declare @inp1 varbinary ( 64 )
declare @inp2 varbinary ( 64 )
set @inp1 = CAST( @fword1 AS varbinary ( 64 ))
set @inp2 = CAST( @fword2 AS varbinary ( 64 ))
declare @rs float
exec xp_similarity @inp1, @inp2, @lenw, @rs OUTPUT
RETURN @rs
END

Код: plaintext
1.
2.
3.
select dbo.fnSim( N'Петров', N'Петренко',  6  )
----------------------------------------------------------------------
 0 . 42592592592592593 

приложил проект для VC6

Если сделаешь приаьттач версию может еще кто мучается
...
Рейтинг: 0 / 0
12.07.2005, 23:33
    #33162399
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
вот еще в виде скриптов было

http://www.sql.ru/forum/actualthread.aspx?tid=147812&hl=debug
...
Рейтинг: 0 / 0
13.07.2005, 08:58
    #33162560
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
Ну а если все по серьёзному делать,
то для Informix DataBlade модуль Excalibrus (просто фантастика)
Для DB2 это есть такой продукт OmniFind,
ресурсов правда жрет немеряно.
Но функционал обоих продуктов впечатляющий.
...
Рейтинг: 0 / 0
13.07.2005, 11:30
    #33162917
nkulikov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
Не ребяты это не катит. Тут целый процесс выстраивать надо. QualityStage.
...
Рейтинг: 0 / 0
13.07.2005, 16:16
    #33164056
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
да не, это уже перебор imho.
...
Рейтинг: 0 / 0
13.07.2005, 21:07
    #33164649
Astron
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
У меня есть ф-я на Oracle PL/SQL, вычисляет "процент совпадения" с образцом, как раз с учетом пропущенных, добавленных и замененных на аналогичные по начертанию латинские буквы. Применял для поиска улицы в справочнике улиц, сравнивал с тем, что навводили в анкетах клиентов косорукие работнички. Работало на удивление хорошо, хотя, как и все вероятностное, не на 100%. На DB2 перевести кажется можно, хотя там возможности функций и ограничены. Но даром не отдам :-). Во-первых, написать такую для настоящего программера - не вопрос, во-вторых, мне нужен реальный код для DB2/UDB. На него (любой? пусть там будет голая схема базы, нерабочая без внешнего исполнителя!) - меняю :-)
...
Рейтинг: 0 / 0
14.07.2005, 08:38
    #33164895
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
не понял про ограниченные возможности функций в DB2 ?

Если задача не стоит в поисках в разных форматах (doc, pdf, ps, графические) то действительно программист может сделать такую функцию достаточно быстро, я бы делал на С (но это уже личное :)
...
Рейтинг: 0 / 0
14.07.2005, 09:00
    #33164935
поиск в текстовых полях значения с опечаткой и не одной ....
Спасибо за наводки :), самому придумывать интереснее (благо время не жмет).
Однако и инструменты <OmniFind>, <QualityStage> заценю.
...
Рейтинг: 0 / 0
14.07.2005, 09:36
    #33165016
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
Я бы с Informix and Excalibrus начал
Ну до того прикольная вещь.
Куча форматов документов поддерживается.
Просто грузятся документы в разных форматах в базу (или "линкуются" оставаясь вне базы)
создаются кодовые страницы языков для индексирования, создаются полнотектовые индексы на все нужные языки используя кодовые страницы, и все - используя предоставляемые функции, ищем с учетом морфологии, орфографии, расстоянию между словами в предложении, направлению дрейфа айсбергов в Антарктиде, и так далее :)
Все это мелкое и шустрое. Только сомневаюсь, что Excalibrus триальный есть.
...
Рейтинг: 0 / 0
14.07.2005, 09:38
    #33165023
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
для DB2 тоже есть extender полнотектового поиска, но я сильно сомниваюсь, что он русский поддерживает
...
Рейтинг: 0 / 0
14.07.2005, 09:47
    #33165046
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
ну если смотреть это
http://www-306.ibm.com/software/data/db2/extenders/netsearch/
то поддерживаемые языки вот они
http://www-306.ibm.com/software/data/db2/extenders/netsearch/nseccsid.html
русский есть
KOI8 не поддерживает, зараза.
...
Рейтинг: 0 / 0
14.07.2005, 22:20
    #33167222
Astron
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
[quot ggv]не понял про ограниченные возможности функций в DB2 ?
[quot]
Сорри, неточно
Читать "Ограниченные возможности ф-й в DB2 c LANGUAGE SQL"
Там много чего нельзя. Там почему-то половины операторов SQL нет. Хотя для такой ф-и хватит за глаза.
Конкретно, на месте автора я бы написал такую ф-ю (собственно так и делал в свое время).
А потом, для интереса, захотел бы взглянуть на специфические фичи DB2 типа CREATE INDEX EXTENSION. Тут извиняйте, LANGUAGE SQL нельзя. Зато, если я не ошибаюсь, это почти то, что хочет автор, или нет?
...
Рейтинг: 0 / 0
15.07.2005, 11:31
    #33167817
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
кстати, Astron прав - используя Index Extension задачу можно решить красивее, чем просто своей функцией.
Только в доке мало сказано об этом
Лучше вот в developerworks
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0312pierre/index.html
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0312stolze/index.html
http://www-128.ibm.com/developerworks/db2/library/techarticle/zeidenstein/0109zeidenstein.html

Даже интересно попробовать.
...
Рейтинг: 0 / 0
15.07.2005, 17:32
    #33169387
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
Astron[quot ggv]не понял про ограниченные возможности функций в DB2 ?
[quot]
Сорри, неточно
Читать "Ограниченные возможности ф-й в DB2 c LANGUAGE SQL"
Там много чего нельзя. Там почему-то половины операторов SQL нет.


Зато тело функции инлайнится в вызвавший её SQL-запрос. Сравните с Oracle. На сайте Ask Tom я читал ужасную историю про переключение контекстов. Мол,

select plsql_sin(x) from...
где plsql_sin(x) - простенькая функция на PL/SQL, возвращающая sin(x)

работает значительно медленнее

select sin(x) from ...

из-за переключения контекстов выполнения SQL и PL/SQL
...
Рейтинг: 0 / 0
15.07.2005, 21:41
    #33169622
Astron
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
Victor Metelitsa Сравните с Oracle. На сайте Ask Tom я читал ужасную историю про
Кто сильнее - слон или кит...
...
Рейтинг: 0 / 0
15.07.2005, 23:36
    #33169673
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск в текстовых полях значения с опечаткой и не одной ....
Тогда лучше (хотя всё равно плохо): "кто сильнее - индийский слон или африканский". Звери одного вида. Однако ж я говорил не про эти СУБД в целом, а про деталь реализации.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
13.10.2006, 17:18
    #34054424
поиск в текстовых полях значения с опечаткой и не одной ....
Пишу адаптер к поисковику OmniFind на Java. Немогу добиться от OmniFind поиска по части слова :(
вариант с использованием * непроходит (слово*) - может кто подскажет в чем дело?
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / поиск в текстовых полях значения с опечаткой и не одной .... / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]