Я создаю базу данных, которая должна искать в текстовых файлах (.doc, .txt, .pdf, ...). Начните создавать предпочтение:
ctx_ddl.create_preference('DOCSPIDER_DIR','FILE_DATASTORE');
Я не присваиваю значение «путь», так как могут быть подкаталоги. Затем я создаю таблицу:
create table document (id number, path varchar2(2000));
ALTER TABLE document ADD (CONSTRAINT document_pk PRIMARY KEY (ID));
Создайте индекс:
create index document_index on document(path)
indextype is ctxsys.context
parameters ('datastore DOCSPIDER_DIR filter ctxsys.auto_filter');
И команда для синхронизации:
ctx_ddl.sync_index('document_index', '2M');
После создания структуры вставляю запись, указывающую на существующий документ:
INSERT INTO document VALUES (1, '\\server\oracle_text_files\file_name.txt');
Однако, когда вы запускаете запрос для поиска содержимого этого документа, он не возвращает данные:
SELECT * from document WHERE CONTAINS(path, 'test', 1) > 0;
Чего-то не хватает?