SAVING Text created when CONTEXT index is created on BLOB field.

Hi,
I am still reading the doc, but thought I'd ask to try and save time ...
I am using CONTEXT index on a BLOB field, and would like to store the Text that is created into a CLOB field, for display purposes.
Is this possible with ORACLE TEXT ?
Thanks
Jeff

Hi,
have a look at the package CTX_DOC. It is in the manual: [url http://download.oracle.com/docs/cd/B19306_01/text.102/b14218/cdocpkg.htm#sthref1639] Oracle text Reference. You can use IFILTER, which doesn't need the index, but also FILTER which uses the index. There are examples in the manual.
If more questions, it is better to ask the question in the Text Forum: [url http://forums.oracle.com/forums/forum.jspa?forumID=71] Oracle Text Forum
Herald ten Dam
http://htendam.wordpress.com

Similar Messages

  • Create context index problem

    When I try to create a context index in a table I have the following error:
    create index pruebaindex on pruebactx(TEXTO) indextype is ctxsys.context
    2 ;
    create index pruebaindex on pruebactx(TEXTO) indextype is ctxsys.context
    ERROR en lmnea 1:
    ORA-29855: se ha producido un error en la ejecucisn de la rutina
    ODCIINDEXCREATE
    ORA-20000: Error de interMedia Text:
    DRG-50704: el listener de Net8 no se esta ejecutando o no puede iniciar
    procedimientos externos
    ORA-28575: no se ha podido abrir la conexisn RPC con el agente de procedimiento
    externo
    ORA-06512: en "CTXSYS.DRUE", lmnea 126
    ORA-06512: en "CTXSYS.TEXTINDEXMETHODS", lmnea 54
    ORA-06512: en lmnea 1
    I ve tried to configure listener for call external procedures using the Ora Admin manual indications and I think that a second listener is running for RPC connections but the create index command give me the same error.
    Thanks

    The temp files should get deleted after each file is processed.
    "Forever" is meaningless. How long does it take, and for how many documents? Text indexes do take a long time to create - can be measured in days in some situations.
    The errors you're seeing in ctx_user_index_errors are probably caused by damaged documents - files that the filter thinks it recognizes, but then fails to process according to the expected layout for those documents. If there are only a few of these, then I wouldn't worry too much - if there are lots (> 1% of your total, perhaps) then it's definitely worth investigating further.
    Scanned documents stored as images (jpegs, tiffs, etc) cannot be indexed. Generally the filters should recognize and skip such documents without errors.

  • Why I can't create ConText index?

    Hi everyone.
    I install Oracle9i(v9.0.1.1) in my computer.
    I create a table, insert a xml document into it, but I can't create ConText index
    on it.
    How can I solve this problem ?
    Thank you.
    SQL> create table xtest(doc sys.xmltype);
    SQL> insert into xtest values (sys.xmltype.createxml('<A>simple</A>'));
    SQL> alter session set query_rewrite_enabled = true;
    SQL> alter session set query_rewrite_integrity = trusted;
    SQL> create index xtestx on xtest(doc)
    2 indextype is ctxsys.context;
         ORA-29855: An error occur when execute ODCIINDEXCREATE
         ORA-20000: Oracle Text error:
         DRG-50857: oracle error in drixtab.create_index_tables
         ORA-01031: insufficient privileges
         ORA-06512: in "CTXSYS.DRUE", line 157
         ORA-06512: in "CTXSYS.TEXTINDEXMETHODS", line 176

    I've solve this problem.
    I ues PL/SQL Developer. When I connect as SYSDBA, create index fail.
    But if I connect as normal, it succeed!

  • Privileges require for a user to create CONTEXT indexes

    Hi all,
       RDBMS: 11.2.0.3
       SO.......: OEL 6.3
       What are the necessary privileges that have to be granted to a user to be able to create CONTEXT Indexes, for example. I have granted the CTXAPP to my user, but when i tryied to create the CONTEXT Index with the command bellow, i got an "insufficient privilege" error message.
       CREATE INDEX USR_DOCS.IDX_CTX_TAB_DOCUMENTOS_01 ON USR_DOCS.TAB_DOCUMENTOS(DOCUMENTO) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS ('SYNC (ON COMMIT)');

    It depends on whether the user is trying to create the index on his own table in his own schema or on somebody else's table in somebody else's schema.  The following demonstrates minimal privileges (quota could be smaller) for user usr_docs to create the index on his own table in his own schema and for my_user to create the index on usr_docs table in usr_docs schema.
    SCOTT@orcl> -- version:
    SCOTT@orcl> SELECT banner FROM v$version
      2  /
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0    Production
    TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    5 rows selected.
    SCOTT@orcl> -- usr_docs privileges:
    SCOTT@orcl> CREATE USER usr_docs IDENTIFIED BY usr_docs
      2  /
    User created.
    SCOTT@orcl> ALTER USER usr_docs QUOTA UNLIMITED ON users
      2  /
    User altered.
    SCOTT@orcl> GRANT CREATE SESSION, CREATE TABLE TO usr_docs
      2  /
    Grant succeeded.
    SCOTT@orcl> -- my_user privileges:
    SCOTT@orcl> CREATE USER my_user IDENTIFIED BY my_user
      2  /
    User created.
    SCOTT@orcl> GRANT CREATE SESSION, CREATE ANY INDEX TO my_user
      2  /
    Grant succeeded.
    SCOTT@orcl> -- user_docs:
    SCOTT@orcl> CONNECT usr_docs/usr_docs
    Connected.
    USR_DOCS@orcl> CREATE TABLE tab_documentos (documento  CLOB)
      2  /
    Table created.
    USR_DOCS@orcl> INSERT ALL
      2  INTO tab_documentos VALUES ('test data')
      3  INTO tab_documentos VALUES ('other stuff')
      4  SELECT * FROM DUAL
      5  /
    2 rows created.
    USR_DOCS@orcl> CREATE INDEX USR_DOCS.IDX_CTX_TAB_DOCUMENTOS_01
      2  ON USR_DOCS.TAB_DOCUMENTOS(DOCUMENTO)
      3  INDEXTYPE IS CTXSYS.CONTEXT
      4  PARAMETERS ('SYNC (ON COMMIT)')
      5  /
    Index created.
    USR_DOCS@orcl> DROP INDEX usr_docs.idx_ctx_tab_documentos_01
      2  /
    Index dropped.
    USR_DOCS@orcl> -- my_user:
    USR_DOCS@orcl> CONNECT my_user/my_user
    Connected.
    MY_USER@orcl> CREATE INDEX USR_DOCS.IDX_CTX_TAB_DOCUMENTOS_01
      2  ON USR_DOCS.TAB_DOCUMENTOS(DOCUMENTO)
      3  INDEXTYPE IS CTXSYS.CONTEXT
      4  PARAMETERS ('SYNC (ON COMMIT)')
      5  /
    Index created.

  • Creating context index on blob-field

    I'm running Oracle 8.1.6 on Suse Linux 6.4.
    Trying to create an database via dbassist or dbassist created skripts
    will fail, if try to include interMedia.
    So used the possibility to copy a sample datebase from CD.
    Who knows about a Solution for this?
    So configured listener.ora und tnsnames.ora to use external procedures.
    Creating an user with cxtapp-role works.
    Creating ctx preferences works.
    But.......
    Creating an index on blob field will fail.
    The Error Message tells :
    create index doc_index on textdokument(text)
    FEHLER in Zeile 1:
    ORA-29855: Fehler bei Ausf|hrung der Routine ODCIINDEXCREATE
    ORA-20000: interMedia Text-Fehler:
    DRG-11206: Benutzerfilterbefehl /opt/oracle/product/8.1.5/ctx/bin/ctxhx
    konnte
    nicht ausgef|hrt werden
    ORA-06512: in "CTXSYS.DRUE", Zeile 126
    ORA-06512: in "CTXSYS.TEXTINDEXMETHODS", Zeile 54
    ORA-06512: in Zeile 1
    Funny, there is no directory $ORACLE_HOME/ctx/bin
    and there there is no ctxhx anywhere!
    Reinstalling InterMedia will not help.
    Are there no Filters within the Linux-Release?
    Whats the problem like ?
    null

    I encountered similar problem running Oracle 8.1.6.on Windows 2000 Prof. I created and then populated a table, by indexing one of the CLOB columns I got following error messages:
    Create index system.AI on Tabel1(Text5) indextype is ctxsys.context
    FEHLER in Zeile 1:
    ORA-29855: Fehler bei Ausf|hrung der Routine ODCIINDEXCREATE
    ORA-20000: interMedia Text-Fehler:
    DRG-11440: Vorgang wird in der GERMAN Sprache nicht unterst|tzt
    ORA-06512: in "CTXSYS.DRUE", Zeile 126
    ORA-06512: in "CTXSYS.TEXTINDEXMETHODS", Zeile 54
    ORA-06512: in Zeile 1
    The error message tell me that something is not supported for German text so the indexing fails. Does it mean there is no German support in IMT? Does somebody know what's wrong? Any workaround & Where to look at? Thanks.
    Lucy

  • Error creating Context Index

    Hi,
    Iam trying to create an context index in a table. After a logn run it gave an error. end-of-file on communication channel. How to resolve this error. And do i have any possibility to continue my index creation. How to recover it?
    Urgent Help needed......
    Thanks,
    Sri

    "End of file on communication channel" nearly always means the Oracle background process has crashed, which means either an Oracle bug or a hardware issue.
    You would need to look at the database alert logs to get more information about the crash.
    You probably won't be able to resume the indexing job from where it crashed, but will need to drop the index and recreate it.

  • Oracle text performance with context search indexes

    Search performance using context index.
    We are intending to move our search engine to a new one based on Oracle Text, but we are meeting some
    bad performance issues when using search.
    Our application allows the user to search stored documents by name, object identifier and annotations(formerly set on objects).
    For example, suppose I want to find a document named ImportSax2.c: according to user set parameters, our search engine format the following
    search queries :
    1) If the user explicitely ask for a search by document name, the query is the following one =>
         select objid FROM ADSOBJ WHERE CONTAINS( OBJFIELDURL , 'ImportSax2.c WITHIN objname' , 1 ) > 0;
    2) If the user don't specify any extra parameters, the query is the following one =>
         select objid FROM ADSOBJ WHERE CONTAINS( OBJFIELDURL , 'ImportSax2.c' , 1 ) > 0;
    Oracle text only need around 7 seconds to answer the second query, whereas it need around 50 seconds to give an answer for the first query.
    Here is a part of the sql script used for creating the Oracle Text index on the column OBJFIELDURL
    (this column stores a path to an xml file containing properties that have to be indexed for each object) :
    begin
    Ctx_Ddl.Create_Preference('wildcard_pref', 'BASIC_WORDLIST');
    ctx_ddl.set_attribute('wildcard_pref', 'wildcard_maxterms', 200) ;
    ctx_ddl.set_attribute('wildcard_pref','prefix_min_length',3);
    ctx_ddl.set_attribute('wildcard_pref','prefix_max_length',6);
    ctx_ddl.set_attribute('wildcard_pref','STEMMER','AUTO');
    ctx_ddl.set_attribute('wildcard_pref','fuzzy_match','AUTO');
    ctx_ddl.set_attribute('wildcard_pref','prefix_index','TRUE');
    ctx_ddl.set_attribute('wildcard_pref','substring_index','TRUE');
    end;
    begin
    ctx_ddl.create_preference('doc_lexer_perigee', 'BASIC_LEXER');
    ctx_ddl.set_attribute('doc_lexer_perigee', 'printjoins', '_-');
    ctx_ddl.set_attribute('doc_lexer_perigee', 'BASE_LETTER', 'YES');
    ctx_ddl.set_attribute('doc_lexer_perigee','index_themes','yes');
    ctx_ddl.create_preference('english_lexer','basic_lexer');
    ctx_ddl.set_attribute('english_lexer','index_themes','yes');
    ctx_ddl.set_attribute('english_lexer','theme_language','english');
    ctx_ddl.set_attribute('english_lexer', 'printjoins', '_-');
    ctx_ddl.set_attribute('english_lexer', 'BASE_LETTER', 'YES');
    ctx_ddl.create_preference('german_lexer','basic_lexer');
    ctx_ddl.set_attribute('german_lexer','composite','german');
    ctx_ddl.set_attribute('german_lexer','alternate_spelling','GERMAN');
    ctx_ddl.set_attribute('german_lexer','printjoins', '_-');
    ctx_ddl.set_attribute('german_lexer', 'BASE_LETTER', 'YES');
    ctx_ddl.set_attribute('german_lexer','NEW_GERMAN_SPELLING','YES');
    ctx_ddl.set_attribute('german_lexer','OVERRIDE_BASE_LETTER','TRUE');
    ctx_ddl.create_preference('japanese_lexer','JAPANESE_LEXER');
    ctx_ddl.create_preference('global_lexer', 'multi_lexer');
    ctx_ddl.add_sub_lexer('global_lexer','default','doc_lexer_perigee');
    ctx_ddl.add_sub_lexer('global_lexer','german','german_lexer','ger');
    ctx_ddl.add_sub_lexer('global_lexer','japanese','japanese_lexer','jpn');
    ctx_ddl.add_sub_lexer('global_lexer','english','english_lexer','en');
    end;
    begin
         ctx_ddl.create_section_group('axmlgroup', 'AUTO_SECTION_GROUP');
    end;
    drop index ADSOBJ_XOBJFIELDURL force;
    create index ADSOBJ_XOBJFIELDURL on ADSOBJ(OBJFIELDURL) indextype is ctxsys.context
    parameters
    ('datastore ctxsys.file_datastore
    filter ctxsys.inso_filter
    sync (on commit)
    lexer global_lexer
    language column OBJFIELDURLLANG
    charset column OBJFIELDURLCHARSET
    format column OBJFIELDURLFORMAT
    section group axmlgroup
    Wordlist wildcard_pref
    Oracle created a table named DR$ADSOBJ_XOBJFIELDURL$I which now contains around 25 millions records.
    ADSOBJ is the table contaings information for our documents,OBJFIELDURL is the field that contains the path to the xml file containing
    data to index. That file looks like this :
    <?xml version="1.0" encoding="UTF-8" ?>
    <fields>
    <OBJNAME><![CDATA[NomLnk_177527o.jpgp]]></OBJNAME>
    <OBJREM><![CDATA[Z_CARACT_141]]></OBJREM>
    <OBJID>295926o.jpgp</OBJID>
    </fields>
    Can someone tell me how I can make that kind of request
    "select objid FROM ADSOBJ WHERE CONTAINS( OBJFIELDURL , 'ImportSax2.c WITHIN objname' , 1 ) > 0;"
    run faster ?

    Below are the execution plan for both the 2 requests :
    select objid FROM ADSOBJ WHERE CONTAINS( OBJFIELDURL , 'ImportSax2.c WITHIN objname' , 1 ) > 0
    PLAN_TABLE_OUTPUT
    |     Id     | Operation                              |Name                         |Rows     |Bytes     |Cost (%CPU)|
    |     0     | SELECT STATEMENT                    |                              |1272     |119K     |     4     (0)     |
    |     1      | TABLE ACCESS BY INDEX ROWID     |ADSOBJ      |1272     |119K     |     4     (0)     |
    |     2      |     DOMAIN INDEX                    |ADSOBJ_XOBJFIELDURL     |          |          |     4     (0)     |
    Note
    - 'PLAN_TABLE' is old version
    Executed in 2 seconds
    select objid FROM ADSOBJ WHERE CONTAINS( OBJFIELDURL , 'ImportSax2.c' , 1 ) > 0
    PLAN_TABLE_OUTPUT
    |     Id     |Operation                              |Name                         |Rows     |Bytes     |Cost (%CPU)|
    |     0     | SELECT STATEMENT                    |                              |1272     |119K     |     4     (0)     |
    |     1     | TABLE ACCESS BY INDEX ROWID     |ADSOBJ                         |1272     |119K     |     4     (0)     |
    |     2     | DOMAIN INDEX                    |ADSOBJ_XOBJFIELDURL     |          |          |     4     (0)     |
    Sorry for the result formatting, I can't get it "easily" readable :(

  • Oracle Text - CTX Context Index Soundex Problem

    Hi,
    I'm running into a problem with Oracle Text when searching using the ! (soundex) option. I've created a simple test example to highlight the issue.
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit
    Windows 2008 Server 64-bit
    create table test_tab (test_col  varchar2(200));
    insert all
      into test_tab (test_col) values ('ab-tönes')
      into test_tab (test_col) values ('ab-tones')
      into test_tab (test_col) values ('abtones')
      into test_tab (test_col) values ('ab tones')
      into test_tab (test_col) values ('ab-tanes')
      select * from dual
    select * from test_tab
    begin
          ctx_ddl.create_preference ('test_lex1', 'basic_lexer');
          ctx_ddl.set_attribute ('test_lex1', 'whitespace', '/\|-_+&''');
          ctx_ddl.set_attribute('test_lex1','base_letter','YES');
          -- ctx_ddl.set_attribute('test_lex1','skipjoins','-');
    end;
    create index test_idx on test_tab (test_col)
      indextype is ctxsys.context
        parameters
          ('lexer        test_lex1'     
    select token_text from dr$test_idx$i;
    TOKEN_TEXT
    AB
    ABTONES
    TANES
    TONES
    select * from test_tab where contains (test_col, '!ab tones') > 0;
    TEST_COL
    ab-tönes
    ab-tones
    ab tones
    select * from test_tab where soundex(test_col) = soundex('ab tones');
    TEST_COL
    ab-tönes
    ab-tones
    abtones
    ab tones
    ab-tanes
    So my question is, can anyone suggest an approach whereby I can get the Oracle Text Context index (or CTXCAT index if it's more appropriate) to return all 5 rows like the simple Soundex is doing?
    I can't really use soundex as this search query will form part of a search screen for a multi-language application. Soundex is limited to English sounding words, so I need the solution to be able to compare strings that may not "sound" English.
    It must be an attribute of the BASIC_LEXER, and I've tried skipjoins, start/end-joins, stop lists, but I just cannot get the Soundex feature of Oracle Text to function like the SOUNDEX() function!
    Looking at how the tokens are stored dr$test_idx$i I need Oracle Text to almost concat 'AB' and 'TONES' to search as a single string.
    Any help greatly appreciated.
    Thanks,

    I am not getting the same problem that you are getting with the umlat, but I don't see what is different.  Please post the result of:
    select ctx_report.create_index_script ('test_idx') from dual;
    Here are the results on my system.  Perhaps you can spot the difference.  I added an empty_stoplist, so that it won't print out a long list of stopwords.
    SCOTT@orcl12c> create table test_tab (test_col    varchar2(200))
      2  /
    Table created.
    SCOTT@orcl12c> insert all
      2    into test_tab (test_col) values ('ab-tönes')
      3    into test_tab (test_col) values ('ab-tones')
      4    into test_tab (test_col) values ('abtones')
      5    into test_tab (test_col) values ('ab tones')
      6    into test_tab (test_col) values ('ab-tanes')
      7  select * from dual
      8  /
    5 rows created.
    SCOTT@orcl12c> select * from test_tab
      2  /
    TEST_COL
    ab-tönes
    ab-tones
    abtones
    ab tones
    ab-tanes
    5 rows selected.
    SCOTT@orcl12c> begin
      2    ctx_ddl.create_preference ('test_lex1', 'basic_lexer');
      3    ctx_ddl.set_attribute('test_lex1','base_letter','YES');
      4  end;
      5  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> create or replace procedure test_proc
      2    (p_rowid in          rowid,
      3      p_clob    in out nocopy clob)
      4  as
      5  begin
      6    select replace (translate (test_col, '/\|-_+&''', '      '), ' ', '')
      7    into   p_clob
      8    from   test_tab
      9    where  rowid = p_rowid;
    10  end test_proc;
    11  /
    Procedure created.
    SCOTT@orcl12c> show errors
    No errors.
    SCOTT@orcl12c> begin
      2    ctx_ddl.create_preference ('test_ds', 'user_datastore');
      3    ctx_ddl.set_attribute ('test_ds', 'procedure', 'test_proc');
      4  end;
      5  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> create index test_idx on test_tab (test_col)
      2    indextype is ctxsys.context
      3    parameters
      4       ('lexer    test_lex1
      5         datastore    test_ds
      6         stoplist    ctxsys.empty_stoplist')
      7  /
    Index created.
    SCOTT@orcl12c> select token_text from dr$test_idx$i
      2  /
    TOKEN_TEXT
    ABTANES
    ABTONES
    2 rows selected.
    SCOTT@orcl12c> variable search_string varchar2(100)
    SCOTT@orcl12c> exec :search_string := 'ab tones'
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> select * from test_tab
      2  where  contains
      3            (test_col,
      4             '!' || replace (:search_string, ' ', ' !') ||
      5             ' or !' || replace (:search_string, ' ', '')) > 0
      6  /
    TEST_COL
    ab-tönes
    ab-tones
    abtones
    ab tones
    ab-tanes
    5 rows selected.
    SCOTT@orcl12c> exec :search_string := 'abtones'
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> /
    TEST_COL
    ab-tönes
    ab-tones
    abtones
    ab tones
    ab-tanes
    5 rows selected.
    SCOTT@orcl12c> exec :search_string := 'ab tönes'
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> /
    TEST_COL
    ab-tönes
    ab-tones
    abtones
    ab tones
    ab-tanes
    5 rows selected.
    SCOTT@orcl12c> select ctx_report.create_index_script ('test_idx') from dual
      2  /
    CTX_REPORT.CREATE_INDEX_SCRIPT('TEST_IDX')
    begin
      ctx_ddl.create_preference('"TEST_IDX_DST"','USER_DATASTORE');
      ctx_ddl.set_attribute('"TEST_IDX_DST"','PROCEDURE','"SCOTT"."TEST_PROC"');
    end;
    begin
      ctx_ddl.create_preference('"TEST_IDX_FIL"','NULL_FILTER');
    end;
    begin
      ctx_ddl.create_section_group('"TEST_IDX_SGP"','NULL_SECTION_GROUP');
    end;
    begin
      ctx_ddl.create_preference('"TEST_IDX_LEX"','BASIC_LEXER');
      ctx_ddl.set_attribute('"TEST_IDX_LEX"','BASE_LETTER','YES');
    end;
    begin
      ctx_ddl.create_preference('"TEST_IDX_WDL"','BASIC_WORDLIST');
      ctx_ddl.set_attribute('"TEST_IDX_WDL"','STEMMER','ENGLISH');
      ctx_ddl.set_attribute('"TEST_IDX_WDL"','FUZZY_MATCH','GENERIC');
    end;
    begin
      ctx_ddl.create_stoplist('"TEST_IDX_SPL"','BASIC_STOPLIST');
    end;
    begin
      ctx_ddl.create_preference('"TEST_IDX_STO"','BASIC_STORAGE');
      ctx_ddl.set_attribute('"TEST_IDX_STO"','R_TABLE_CLAUSE','lob (data) store as (
    cache)');
      ctx_ddl.set_attribute('"TEST_IDX_STO"','I_INDEX_CLAUSE','compress 2');
    end;
    begin
      ctx_output.start_log('TEST_IDX_LOG');
    end;
    create index "SCOTT"."TEST_IDX"
      on "SCOTT"."TEST_TAB"
          ("TEST_COL")
      indextype is ctxsys.context
      parameters('
        datastore       "TEST_IDX_DST"
        filter          "TEST_IDX_FIL"
        section group   "TEST_IDX_SGP"
        lexer           "TEST_IDX_LEX"
        wordlist        "TEST_IDX_WDL"
        stoplist        "TEST_IDX_SPL"
        storage         "TEST_IDX_STO"
    begin
      ctx_output.end_log;
    end;
    1 row selected.

  • Context index on small texts

    Hello all,
    After reading the main differences between CTXCAT and Context indexes, I realised that CTXCAT is used for small texts.
    In my case I need to index a username, firstname and lastname of a person.
    I tried CTXCAT but it doesn't support Left truncation, ( same as LIKE '%word' ). It only supports right and middle truncation (same as LIKE 'word1%' , LIKE
    'word1%word2'), etc.
    And CTXCAT does not return any rank, while I need to order the results by the highest rank.
    Is it possible to use Context Index on those really small text columns ? Each column is of datatype varchar2(50).
    Your opinions please.

    Hi,
    it is indeed possible and you get indeed more functionality. By using context index you must be aware that is not transactional out of the box. Ctxcat has the advantage it can also index other columns other then the column on which the index is made.
    I used it also on the same kind of columns you use (especially lastname) and I hit no issue (Oracle 10g and 11g).
    Another option could be to create normal Btree indexes, but then you also have no score and maybe problems with left truncation queries.
    Herald ten Dam
    http://htendam.wordpress.com

  • Oracle Text Context index keeps growing. Optimize seems not to be working

    Hi,
    In my application I needed to search through many varchar columns from differents tables.
    So I created a materialized view in which I concatenate those columns, since they exceed the 4000 characters I merged them concatenating the columns with the TO_CLOBS(column1) || TO_CLOB(column)... || TO_CLOB(columnN).
    The query is complex, so the refresh is complete on demand for the view. We refresh it every 2 minutes.
    The CONTEXT index is created with the sync on commit parameter.
    The index then is synchronized every two minutes.
    But when we run the optimize index it does not defrag the index. So it keeps growing.
    Any idea ?
    Thanks, and sorry for my poor english.
    Edited by: detryo on 14-mar-2011 11:06

    What are you using to determine that the index is fragmented? Can you post a reproducible test case? Please see my test of what you described below, showing that the optimization does defragment the index.
    SCOTT@orcl_11gR2> -- table:
    SCOTT@orcl_11gR2> create table test_tab
      2    (col1  varchar2 (10),
      3       col2  varchar2 (10))
      4  /
    Table created.
    SCOTT@orcl_11gR2> -- materialized view:
    SCOTT@orcl_11gR2> create materialized view test_mv3
      2  as
      3  select to_clob (col1) || to_clob (col2) clob_col
      4  from   test_tab
      5  /
    Materialized view created.
    SCOTT@orcl_11gR2> -- index with sync(on commit):
    SCOTT@orcl_11gR2> create index test_idx
      2  on test_mv3 (clob_col)
      3  indextype is ctxsys.context
      4  parameters ('sync (on commit)')
      5  /
    Index created.
    SCOTT@orcl_11gR2> -- inserts, commits, refreshes:
    SCOTT@orcl_11gR2> insert into test_tab values ('a', 'b')
      2  /
    1 row created.
    SCOTT@orcl_11gR2> commit
      2  /
    Commit complete.
    SCOTT@orcl_11gR2> exec dbms_mview.refresh ('TEST_MV3')
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> insert into test_tab values ('c a', 'b d')
      2  /
    1 row created.
    SCOTT@orcl_11gR2> commit
      2  /
    Commit complete.
    SCOTT@orcl_11gR2> exec dbms_mview.refresh ('TEST_MV3')
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> -- query works:
    SCOTT@orcl_11gR2> select * from test_mv3
      2  where  contains (clob_col, 'ab') > 0
      3  /
    CLOB_COL
    ab
    c ab d
    2 rows selected.
    SCOTT@orcl_11gR2> -- fragmented index:
    SCOTT@orcl_11gR2> column token_text format a15
    SCOTT@orcl_11gR2> select token_text, token_first, token_last, token_count
      2  from   dr$test_idx$i
      3  /
    TOKEN_TEXT      TOKEN_FIRST TOKEN_LAST TOKEN_COUNT
    AB                        1          1           1
    AB                        2          3           2
    C                         3          3           1
    3 rows selected.
    SCOTT@orcl_11gR2> -- optimizatino:
    SCOTT@orcl_11gR2> exec ctx_ddl.optimize_index ('TEST_IDX', 'REBUILD')
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> -- defragmented index after optimization:
    SCOTT@orcl_11gR2> select token_text, token_first, token_last, token_count
      2  from   dr$test_idx$i
      3  /
    TOKEN_TEXT      TOKEN_FIRST TOKEN_LAST TOKEN_COUNT
    AB                        2          3           2
    C                         3          3           1
    2 rows selected.
    SCOTT@orcl_11gR2>

  • ORACLE TEXT  Context index so big, why ?

    Hi,
    One year ago, I've created a context index, for a table that had 2 million rows , and the context index was around 2.8 Mil rows ....
    Today we have 2.9mil rows but the Context index has 95 Mil rows ??
    Last weekend I did a FULL optimize index and it took 28hours and it was still not finished .... so this weekend I droped the index and re-created
    it .... it took 6 hours ....
    Now I started CTX_REPORT.INDEX_STATS to see how it looks like .... cause I exprected 95mil to become like 3.5mil max not more ....
    Can anyone please tell me what should I check to see why did this happen so that the last 900.000 records created 91 mil rows in index ?
    If there would be something wrong, why would the last 900.000 rows create something that prev 2mil rows did not ...
    HEre is index creation :
    CREATE INDEX ART_IDX ON MS_ARTICLE(ORATEXT) INDEXTYPE IS CTXSYS.CONTEXT  FILTER BY ID,ART_DATE,MEDIA_CODE ORDER BY
    ART_DATE DESC PARAMETERS (' LEXER ART_LEX STOPLIST CTXSYS.EMPTY_STOPLIST sync(ON COMMIT) DATASTORE DS_ART');If anyone needs definition of lexer od datastore, then please tell me what do I have to do to get definitions of that.
    Thank you.
    KRis

    Hi,
    Ok there must be something I did wrong .... cause after running INDEX_STATS ...I got this results :
    ===========================================
                        STATISTICS FOR "PRESCLIP"."ART_IDX"
    ===========================================
    indexed documents:                                              2,876,228
    allocated docids:                                               2,876,228
    $I rows:                                                       96,110,561
                                 TOKEN STATISTICS
    unique tokens:                                                  5,584,188
    average $I rows per token:                                          17.21
    tokens with most $I rows:
      JE (0:TEXT)                                                      11,650
      V (0:TEXT)                                                       11,183
      IN (0:TEXT)                                                      10,085So I have expected Average rows per token to be 1 after droping and re-creating index ..... so what else must I do to get the number 96mil to 5.5mil ?
    Thank you.
    Kris

  • Text created in Premiere showing other text files in the timeline and exports.

    Hi,
    I'm creating slates with text generated in Premiere. For each new slate I am duplicating a text layer, Option + Dragging the duplicate file over the text I'd like to replace, then opening the new text layer in the text editor and updating the information.
    Things seem fine at first and then randomly text layers in the timeline will show text from other files in the timeline. If I open the text file up in the text editor I see the correct info but not in the timeline.
    The only fix I have found is to delete render files, move the text layer around in the timeline, quit and re-open. But still, sometimes when I export, the export preview window will show the wrong text and when I export the file I create shows the wrong text as well.
    It seems like Premiere is getting confused by multiple text files in the timeline and is pointing to the wrong cache files.
    Thoughts would be a huge help!

    Thanks for the tip Kevin. Anything I can do to avoid this in the future?
    I've had this happen on a number of projects. My media and project files are on a SAN, cache and previews are local.
    Thanks,
    Mike Brown
    P: (401) 743-7452

  • I am a bit ignorant when it comes to my iphone 4. Can somone help me delete saved text messages? I have tried to delete them one by one in my messages, but it still says that I have 2.3 saved messages. I just want to free up space  on my phone.

    Dearest Ones in the Apple Tech World,
    I need to free up space in my storage, and I can do that if I can figure out how to delete my saved text messages. Anyone out there know how in the world I can accomplish this?
    I have tried to delete them one by one, but it still says that I have 2.3 GB of saved messages!
    I am not the saviest when it comes to operating this phone. Any help would be appreciated!
    THANKS SO MUCH!

    There's no way to delete all message threads at one go. You can however do one contact thread at a time.
    In Messages app where you see a list of messages from different contacts,  tap Edit (top left), tap the red (on the left), then tap the red Delete button on the right.

  • How to include std text(Created in So10) in text node?

    Hello,
    How to include the Standard Text( created in So10 ) into Text Node.
    I had typed the Standard text name in the TEXT NAME : ZXXX
          Text Object : TEXT
           TEXT ID : ST
          LAnguage : &CONTROL_PARAMETERS-LANGU&
    But, I am unable to look at that particular text in the smart form. I am receiving an error message : "UNable to load the data into front end. ....etc"
    It is taking me away to the initial screen.
    PLz help!
    ANy suggestion will be appreciated.
    REgards,
    Kittu

    I need to include the Standard text created in so10 into a text node in the Smart form.
    In samrt form, I had created a Text Node.
    In General attributes from the Drop Down menu
    --> I had selected INClude Text
    --> It has asked me TExt name : ZXXX (Name of the STD text create din so10)
                         Text Obje : TExt
                         Text ID   : ST
                         Language  : &CONtrol_Parameters-LANGU&
               It is even activated without any errors. But, it does not display the Text written in the Standard Text. Is there any way that I can include the Standard text into the  Text node.......
    ANy suggestions will be appreciated...
    REgards,
    Kittu

  • HT204150 I'm having problems with random contacts disappearing from icloud. I have a saved text from a contact that displays her info but when I look for her in contacts it's missing.

    I'm having problems with random contacts disappearing from icloud. I have a saved text from a contact that displays her info but when I look for her in contacts it's missing.

    It is locked to your sisters carrier.
    She would have to ask her carrier if they unlock iPhones and if she qualifies for this service.

Maybe you are looking for

  • About using categories and perspectives for new user

    We are just beginning a conversion and upgrade project to convert our Web site to Oracle Portal. I'm trying to get a good handle on some different things we need to resolve as part of the project. One of the first decisions is using Categories and Pe

  • How do i create multiple triggers in one image?

    Hi there, I have an image which consists of multiple sections. (It's a circle with pie-pieces: see attachment) I want every segment of the image to be a seperate trigger: when you hover or click other segments will turn gray and a text will appear. A

  • BAPI Error for Vendor Invoice

    Hi Experts          I am developing a BAPI to post the Vendor Invoice, I am not clear the parameters to be passed. Anyhow i have filled some parameters and am getting the following error, Can anyone suggest me about the error. Error : Enter a referen

  • Payment to vendor after Sales Order Creation

    Dear Experts, We already mapped and doing full process fm Sales Order to Outbound Delivery & giving payment by Shipment, shipment Cost & MIRO. Now we want to do as follows: - another sales order with reference of existing sales order - Create Invoice

  • Built in Map App on Iphone 4

    I have an iphone 4 with ios 5.  I was using the built in "map" app today and was expecting it to tell me directions.  Does it not have this capibility? Thank You Tonya