Базы данных Oracle - статьи

         

Параметры индекса


Параметры индекса позволяют задавать разные свойства индекса, например:

  • фильтры для документа
  • тип местонахождения документа
  • тип лексического анализатора
  • обеспечение индексом морфологического, нечеткого поиска; хранение префиксов
  • учет структуры документа, такой как предложения, параграфы или разметка HTML/XML
  • список неиндексируемых слов.
  • Иное название для параметров текстового индекса в Oracle - «предпочтения» (preferences).

    Пример использования в качестве свойства индекса более удобного, чем в примерах выше, учета местонахождения документа:

    TRUNCATE TABLE docs; DROP INDEX docs_autodoc_idx; ALTER TABLE docs DROP COLUMN autodoc; ALTER TABLE docs ADD ( docname VARCHAR2 ( 100 ) );

    INSERT INTO docs VALUES ( 1, 'c:\distr\ora102\docdisk\readme.txt' ); INSERT INTO docs VALUES ( 2, 'c:\distr\ora102\docdisk\readme.htm' ); INSERT INTO docs VALUES ( 3, 'c:\distr\ora102\docdisk\readme.pdf' );

    CREATE INDEX docs_docname_idx ON docs ( docname ) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS ( 'filter CTXSYS.AUTO_FILTER section group CTXSYS.AUTO_SECTION_GROUP datastore CTXSYS.FILE_DATASTORE' );

    Проверка:

    CTX> COLUMN docname FORMAT A35 CTX> SELECT docname, CONTAINS ( docname, 'oracle support' ) FROM docs;

    DOCNAME CONTAINS(DOCNAME,'ORACLESUPPORT') ----------------------------------- --------------------------------- c:\distr\ora102\docdisk\readme.txt 12 c:\distr\ora102\docdisk\readme.htm 12 c:\distr\ora102\docdisk\readme.pdf 6

    Более того, с каждым параметром связан один или более атрибутов. Однако явное указание атрибутов добавляет организационной сложности, так как производится техникой вызовов системных процедур, и не оформляется запросом SQL.



    Содержание раздела