CTXSYS.CTXCAT index and CATSEARCH problem

I have table with just one column indexed (CBG_COMPANY_HOUSE_STREET_DIST) with CTXSYS.CTXCAT index. And the problem is that
words like 'OR', 'IF', 'MR', 'MRS', 'A' and some more like these are NOT INDEXED at all..! So simply when I try to use CATSEARCH like
select * from ros_dev.MAD_PLACES_DEDUPE where CATSEARCH(CBG_COMPANY_HOUSE_STREET_DIST,'MRS',null) > 0
I get no results at all...
What is the reason? What is the solution? Please, it is URGENT, I develope some software , I am not a DBA, and I have a deadline on Friday :(
Thanks for any help!

Ok - I just responded to your post over in the database forum. Same answer applies here. If you need help redoing the index, best to post here rather than the General Database forum though since it is definitely Text specific.
Thanks,
Ron

Similar Messages

  • Error when hit ctxsys.ctxcat index

    I use SQL query to generated report page in HTML DB, the query hit Oracle ctxsys.ctxcat indexes, after sent query, I got this error message. My question is: Does HTML DB support ctxsys.ctxcat index?
    report error:
    ORA-20000: Oracle Text error:
    DRG-10849: catsearch does not support functional invocation
    My sample query:
    SELECT distinct(FEATURE_ID),
    FEATURE_NAME
    from maint_query_view
    where FEATURE_NAME_OFFICIAL = 'Y'
    and feature_id in (select feature_id from maint_query_view
    where (catsearch(:FEATURENAME, 'index',null)>0);
    Thanks
    Lei

    Lei,
    1) HTML DB does support the CTXCAT index type.
    2) The error you've encountered seems specific to Oracle Text and not HTML DB (I would suspect you would encounter the same error if you issued the query from SQL*Plus).
    It's best to file a TAR with Oracle Worldwide Support on this one.
    Joel

  • CTXCAT index and VPD?

    Hi all,
    after looking into the logfile of IMPDP, i found this:
    Failing sql is:
    CREATE INDEX "Q1"."CTX1_AX_CODE" ON "Q1"."XREF" ("CODE")  INDEXTYPE IS "CTXSYS"."CTXCAT"  PARAMETERS ('STOPLIST CTXSYS.EMPTY_STOPLIST
                 LEXER global_lexer
                 WORDLIST global_wordlist
                 STORAGE CTXSTORE')P
    ORA-39083: Object type INDEX failed to create with error:
    ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
    ORA-20000: Oracle Text error:
    DRG-50857: oracle error in drsxsopen
    ORA-28100: policy function schema LICENSE is invalidI think the first 8 lines are saying some errors regarding ORACLE TEXT, and the last line is a VPD error, right?
    it's confusing, how could an ORACLE TEXT index have anything to do with VPD? I don't see any relations between them.
    anyone have any ideas?
    thanks in advance

    Rafi (Oracle DBA) wrote:
    Hi,
    Cause:
    Starting with 10g CTXSYS no longer has DBA privileges. Traditionally, in previous releases, CTXSYS has been allowed to sync any index. But we have been moving toward the model that only the index owner or DBA can sync a given index.
    Solution
    To implement the solution, please upgrade to 11gR2, 11.2.0.2, where the problem is fixed.
    Prior 11.2.0.2 you should change your PL/SQL code and use the owner of the index to SYNC, or a DBA user.
    For more details check the below MY ORACLE SUPPORT NOTE:
    DRG-50857 When Synchronizing Indexes as CTXSYS [ID 351361.1]
    Best regards,
    Rafi.
    http://rafioracledba.blogspot.com/
    Hi,
    version: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0
    I use SYS to do the IMPDP, can this avoid the privilege issue you mentioned?

  • Premiere CS6 Indexing and Pending Problems - HELP!

    Gentlemen,
    Any help you can offer on this would be terrific.
    The problem is.....I have begun editing a feature in CS5, we set up a different project for each scene, 48 in total. Then upgraded to CS6.
    When I open the projects in CS6, some of them work fine. However, most of them don't, and they have the same problems, which are;
    1. All the media doesn't load. The status bar in the bottom left tells me there is xx "Remaining" (See Pic)
    2. The files don't index. Above the project window the message "Items to Index XX" appears.
    However, when I save one of these incomplete projects in CS6 and then open it in CS5, there are no problems. My scratch disks for 5 and 6 are the same.
    I've searched and searched and this appears to be a common fault, but I can't find a solution that works for me. I've tried the following;
    1. Uninstalling and re installing Premiere
    2. Updating to 6.0.3
    3. Cleaning media Cache
    4. Replacing the missing files and then reloading
    5. Temporarily removing all the preview files
    6. Leaving a project open for 16 hours to see if it slowly indexes
    None of this works. If anyone has the answer I would be very gratefull, I don't really want to restart 48 projects and I don't really want to go back to CS5, as CS6 is much better for the Matrox system.
    I'm using MXF footage, from P2, 720p. I have noticed that this problem doesn't occur with projects that use other footage types.
    My system is.....
    Windows 7 Pro 64bit
    8gb Ram
    Many Thanks in advance for any help you can offer.

    Thanks Jim,
    just tried that.....unfortunatley no luck.

  • Trying to understand context indexes and contains-help

    Hi
    i am using
    Achieving functionality of many preferences using one context index
    to understand context indexes and contains
    and i get the following
    Error starting at line 1 in command:
    begin
    ctx_ddl.create_preference ('nd_mcds', 'multi_column_datastore');
    ctx_ddl.set_attribute ('nd_mcds', 'columns', 'text nd, text text');
    ctx_ddl.create_section_group ('nd_sg', 'basic_section_group');
    ctx_ddl.add_ndata_section ('nd_sg', 'nd', 'nd');
    ctx_ddl.create_preference ('test_lex', 'basic_lexer');
    ctx_ddl.set_attribute ('test_lex', 'whitespace', '/\|-_+');
    end;
    Error report:
    ORA-06550: line 5, column 15:
    PLS-00302: component 'ADD_NDATA_SECTION' must be declared
    ORA-06550: line 5, column 7:
    PL/SQL: Statement ignored
    06550. 00000 - "line %s, column %s:\n%s"
    *Cause:    Usually a PL/SQL compilation error.
    *Action:
    so i am using the following to check for the error
    http://docs.oracle.com/cd/E18283_01/text.112/e16593/cddlpkg.htm#BABCBFCB
    plus
    oracle text application developer's guide
    plus
    oracle text reference
    but these have not listed that error (i have even googled this in vain)
    background::we were actually using catsearch but because of its downsides i want to implement this
    Is Achieving functionality of many preferences using one context index a good place to start when one does not know about
    context and contains??
    please post any other useful link for contains and context index that even explains
    1) fuzzy
    2) stem
    3) synonym
    4) near
    5) soundex
    6)ndata
    7)lexer
    thanks in advance

    Ndata is new to Oracle 11g. Your other posts indicate that you are using Oracle 10g, so you don't have ndata, so you get an error when you try to use it. If you want to use the 11g features that enable context indexes with contains to do all of the things that ctxcat indexes with catsearch do, then you need to upgrade to 11g.
    The online documentation is searchable. Most things regarding Oracle Text are contained in either the Oracle Text Reference or the Oracle Text Application Developer's guide.
    I suggest that you start with something very simple, then build from there.
    The following is similar to your other post that used catsearch:
    SCOTT@orcl_11gR2> CREATE TABLE mv_cat_seg_reg_prod
      2    (cat_ids       VARCHAR2 ( 7),
      3       act_status    VARCHAR2 (10),
      4       name           VARCHAR2 ( 1),
      5       email           VARCHAR2 ( 1),
      6       address1      VARCHAR2 ( 1),
      7       address2      VARCHAR2 ( 1),
      8       contact_name  VARCHAR2 ( 1),
      9       mobile           VARCHAR2 ( 1),
    10       telephone     VARCHAR2 ( 1))
    11  /
    Table created.
    SCOTT@orcl_11gR2> INSERT ALL
      2  INTO mv_cat_seg_reg_prod VALUES
      3    ('1', 'Y', 'A', 'B', 'C', 'D', 'E', 'F', 'G')
      4  INTO mv_cat_seg_reg_prod VALUES
      5    ('2', 'N', 'H', 'I', 'J', 'K', 'L', 'M', 'N')
      6  SELECT * FROM DUAL
      7  /
    2 rows created.
    SCOTT@orcl_11gR2> CREATE INDEX mv_cat_seg_reg_prod_idx
      2  ON mv_cat_seg_reg_prod (cat_ids)
      3  INDEXTYPE IS CTXSYS.CONTEXT
      4  /
    Index created.
    SCOTT@orcl_11gR2> SELECT token_text FROM dr$mv_cat_seg_reg_prod_idx$i
      2  /
    TOKEN_TEXT
    1
    2
    2 rows selected.
    SCOTT@orcl_11gR2> SELECT *
      2  FROM   (SELECT SCORE (1), name, email, address1, address2, contact_name, mobile, telephone
      3            FROM   mv_cat_seg_reg_prod
      4            WHERE  CONTAINS (cat_ids, '1', 1) > 0
      5            AND    act_status = 'Y'
      6            ORDER  BY DBMS_RANDOM.VALUE)
      7  WHERE  ROWNUM < 8
      8  /
      SCORE(1) N E A A C M T
             4 A B C D E F G
    1 row selected.

  • Contains and catsearch operates differently ?

    Hi,
    I've got an app which does a search on product names;
    create table products_tbl(id number primary key, text varchar2(4000));
    insert into products_tbl values(112,'Smith Bitter');
    commit;
    create index products_idx on products_tbl( text )
    indextype is ctxsys.context;
    I get no data found with this query; select * from products_tbl where contains(text,'Bitter Smith',1) >0;
    If I drop the context index and create a ctxcat one instead;
    drop index products_idx;
    create index products_idx on products_tbl( text )
    indextype is ctxsys.ctxcat;
    Running the following does return the row; select * from products_tbl where catsearch(text, 'Bitter Smith','')>0;
    Is this expected behaviour? I understand the uses for CONTEXT and CTXCAT, but just didn't see anything in the documentation which suggested contains and catsearch operated in different manner above.
    My DB is 10g, but I've tried it on 11g and it's the same.
    Cheers

    The syntax is different. Searching for "a b c" using catsearch is the same as searching for "a AND b AND c" using contains. This is documented in the following section:
    http://download.oracle.com/docs/cd/B28359_01/text.111/b28304/csql.htm#i997256
    You can use a query template with context grammar to get the results that you would expect from a contains search. Please see the demonstration below.
    SCOTT@orcl_11g> create table products_tbl(id number primary key, text varchar2(4000));
    Table created.
    SCOTT@orcl_11g> insert into products_tbl values(112,'Smith Bitter');
    1 row created.
    SCOTT@orcl_11g> insert into products_tbl values(113,'Bitter Smith');
    1 row created.
    SCOTT@orcl_11g> commit;
    Commit complete.
    SCOTT@orcl_11g> create index products_idx on products_tbl( text )
      2  indextype is ctxsys.context;
    Index created.
    SCOTT@orcl_11g> column text format a30
    SCOTT@orcl_11g> select * from products_tbl where contains(text,'Bitter Smith',1) >0;
            ID TEXT
           113 Bitter Smith
    SCOTT@orcl_11g> drop index products_idx;
    Index dropped.
    SCOTT@orcl_11g> create index products_idx on products_tbl( text )
      2  indextype is ctxsys.ctxcat;
    Index created.
    SCOTT@orcl_11g> select * from products_tbl where catsearch(text, 'Bitter Smith','')>0;
            ID TEXT
           112 Smith Bitter
           113 Bitter Smith
    SCOTT@orcl_11g> select *
      2  from   products_tbl
      3  where  catsearch
      4             (text,
      5              '<query>
      6              <textquery grammer="CONTEXT" language="english">Bitter Smith
      7              </textquery>
      8            </query>','') > 0;
            ID TEXT
           113 Bitter Smith
    SCOTT@orcl_11g>

  • CTXCAT index problem: SUBSTRING_INDEX parameter doesn't work

    Hi,
    I need a help with ctxcat index on Oracle 10g. I need to improve searching using CTXCAT index. All is working quite well except SUBSTRING_INDEX parameter. I thought that following was necessary and sufficient:
    EXEC ctx_ddl.create_preference('KEVFT_WL', 'BASIC_WORDLIST');
    EXEC ctx_ddl.set_attribute('KEVFT_WL', 'substring_index', 'YES');
    EXEC ctx_ddl.set_attribute('KEVFT_WL', 'prefix_index', 'YES');
    EXEC ctx_ddl.set_attribute('KEVFT_WL', 'prefix_min_length', 1);
    EXEC ctx_ddl.set_attribute('KEVFT_WL', 'prefix_max_length', 6);
    This BASIC_WORDLIST preference set is used for index creation. But the problem is, that when I try to search using query:
    SELECT * FROM TMP_FULLTEXT
    WHERE CATSEARCH(fulltext, '%abc', null)> 0;
    then I get no rows in results. Despite the fact that row with the text 'aabc' exists in the table.
    Can anyone tell me what the problem is?
    Thank you,
    Julius Chrobak

    With a catsearch query operator, the wildcard is an asterisk (*), not a percent sign (%) as with a contains query operator. However, even with the correct wildcard, left truncation is not supported with ctxcat. However, if you use a query template, then you can use the context grammar with the % wildcard for context grammar and left truncation is supported. Please see the demonstration below that reproduces the problem, then corrects it.
    SCOTT@10gXE> SELECT * FROM v$version
      2  /
    BANNER
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
    PL/SQL Release 10.2.0.1.0 - Production
    CORE     10.2.0.1.0     Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    SCOTT@10gXE> CREATE TABLE tmp_fulltext (fulltext VARCHAR2 (30))
      2  /
    Table created.
    SCOTT@10gXE> INSERT ALL
      2  INTO tmp_fulltext VALUES ('aabc')
      3  INTO tmp_fulltext VALUES ('abcd')
      4  SELECT * FROM DUAL
      5  /
    2 rows created.
    SCOTT@10gXE> BEGIN
      2    ctx_ddl.create_preference ('KEVFT_WL', 'BASIC_WORDLIST');
      3    ctx_ddl.set_attribute      ('KEVFT_WL', 'substring_index',   'YES');
      4    ctx_ddl.set_attribute      ('KEVFT_WL', 'prefix_index',        'YES');
      5    ctx_ddl.set_attribute      ('KEVFT_WL', 'prefix_min_length', 1);
      6    ctx_ddl.set_attribute      ('KEVFT_WL', 'prefix_max_length', 6);
      7  END;
      8  /
    PL/SQL procedure successfully completed.
    SCOTT@10gXE> CREATE INDEX fulltext_idx ON tmp_fulltext (fulltext)
      2  INDEXTYPE IS CTXSYS.CTXCAT
      3  PARAMETERS ('WORDLIST KEVFT_WL')
      4  /
    Index created.
    SCOTT@10gXE> -- reproduction of original problem using wrong wildcard for catsearch:
    SCOTT@10gXE> SELECT * FROM TMP_FULLTEXT
      2  WHERE CATSEARCH (fulltext, '%abc', null) > 0
      3  /
    no rows selected
    SCOTT@10gXE> SELECT * FROM TMP_FULLTEXT
      2  WHERE CATSEARCH (fulltext, 'abc%', null) > 0
      3  /
    no rows selected
    SCOTT@10gXE> -- left truncation not supported, even with correct wildcard:
    SCOTT@10gXE> SELECT * FROM TMP_FULLTEXT
      2  WHERE CATSEARCH (fulltext, '*abc', null) > 0
      3  /
    no rows selected
    SCOTT@10gXE> SELECT * FROM TMP_FULLTEXT
      2  WHERE CATSEARCH (fulltext, 'abc*', null) > 0
      3  /
    FULLTEXT
    abcd
    SCOTT@10gXE> -- query using template with context grammar:
    SCOTT@10gXE> SELECT * FROM TMP_FULLTEXT
      2  WHERE CATSEARCH
      3            (fulltext,
      4             '<query>
      5             <textquery grammar="context">
      6               %abc
      7             </textquery>
      8              <query>',
      9             null) > 0
    10  /
    FULLTEXT
    aabc
    SCOTT@10gXE>

  • Performance Problems - Index and Statistics

    Dear Gurus,
    I am having problems lossing indexes and statistics on cubes ,it seems my indexes are too old which in fact are not too old just created a month back and we check indexes daily and it returns us RED on the manage TAB.
    please help

    Dear Mr Syed ,
    Solution steps I mentioned in my previous reply itself explains so called RE-ORG of tables;however to clarify more on that issue.
    Occasionally,ORACLE <b>Cost-Based Optimizer</b> may calculate the estimated costs for a Full Table Scan lower than those for an Index Scan, although the actual runtime of an access via an index would be considerably lower than the runtime of the Full Table Scan,Some Imperative points to be considered in order to perk up the performance and improve on quandary areas such as extensive running times for Change runs & Aggregate activate & fill ups.
    Performance problems based on a wrong optimizer decision would show that there is something serious missing at Database level and we need to RE_ORG  the degenerated indexes in order to perk up the overall performance and avoid daily manual (RSRV+RSNAORA)activities on almost similar indexes.
    For <b>Re-organizing</b> degenerated indexes 3 options are available-
    <b>1) DROP INDEX ..., and CREATE INDEX …</b>
    <b>2)ALTER INDEX <index name> REBUILD (ONLINE PARALLEL x NOLOGGING)</b>
    <b>3) ALTER INDEX <index name> COALESCE [as of Oracle 8i (8.1) only]</b>
    Each option has its Pros & Cons ,option <b>2</b> seems to be having lot of advantages to
    <b>Advantages- option 2</b>
    1)Fast storage in a different table space possible
    2)Creates a new index tree
    3)Gives the option to change storage parameters without deleting the index
    4)As of Oracle 8i (8.1), you can avoid a lock on the table by specifying the ONLINE option. In this case, Oracle waits until the resource has been released, and then starts the rebuild. The "resource busy" error no longer occurs.
    I would still leave the Database tech team be the best to judge and take a call on these.
    These modus operandi could be institutionalized  for all fretful cubes & its indexes as well.
    However,I leave the thoughts with you.
    Hope it Helps
    Chetan
    @CP..

  • BADI n-step SC approval - Approval Index and Data Change Problems

    Dear forum gurus,
    We are implementing SRM 5.0 (SRM SERVER 5.5 SP 9) in Extended classic. I am developing the BADI's to use the n-step SC approval workflow WS14000133.
    Our approval process is as follows:
    1. Cost Centre approver (based on CC with the largest value in the SC)
    2. Financial approver (based on the total value of the SC)
    I have done this now and it works as long as every step is approved!
    I have implemented the BADI 'BBP_WFL_EMPL_WI_BADI' - method 'CHECK_REQUESTER_WI' to send back any changes to the cost centre to the shopper to review. The standard also sends back total value changes to the shopper in the same way.
    My problem is that if the main CC or the total value of the SC are changed, the logic goes back to the shopper and then if the shopper 'Accepts changes', the logic skips the first apporver again and goes directly to the second (financial approver).
    I think there are 2 options:
    1. After the shopper accepts chnages, to restart the WF so a new WF template is generated. Then my logic will show the new CC and FI approvers again.
    2. I change my logic in the 'GET_REMAING_APPROVERS' method so the apporval index is not assumed to be 1 or 2 only. I guess I will have to work with logic to read the history and apporval index, but this seems very complex.
    Option 1 - I can't get this to work. After the shopper accepts changes I can't get the WF to restart in the 'BBP_WFL_SECUR_BADI'.
    Has anyone fixed this?
    Option 2 - The logic for checking apporval index and apporval history tables seems to me very complex. Has anyone done this and can they explain the logic to me if so? The problem here is that the sample code for this BADI assumes the approval indexis always 1 for the first step and 2 for the second step, but this is not the case!
    Thanks in advance,
    Best regards,
    Nick

    Hi,
    I feel setting the parameter BBP_WFL_SECURITY  for the Approver should do the trick.i.e. Restart the workflow adn the same approval process should be followed again.So plese adjust the value of this parameter for the Approver role in trascn PFCG.Also if you want to overwrite the settings of this paramtere(as maintained in PFCG),you can implement the BADI "BBP_WFL_SECUR_BADI".
    For  more info,refer  the foll links:
    http://help.sap.com/saphelp_srm50/helpdata/en/37/830b3b7e7ef74de10000000a114084/frameset.htm
    http://help.sap.com/saphelp_srm50/helpdata/en/f7/a6a3415e34b05fe10000000a1550b0/frameset.htm
    BR,
    Disha.
    <b>Pls reward points for useful answers.</b>

  • Problems with Indexing and Classification

    hi KM Gurus,
    We faced some problems in Indexing and Taxonomies for which I would like to know the solution/reason.
    (1) We tried providing query based classification in which the query condition which is based on the "Content" alone worked for us. Whenever we tried specifying conditions based on "file extension" or "title", it didn't work out. Did that work for anybody else?
    (2) Also we are not able to get any proper info about the various options that are available while creating a query based classification. For example, there are two options like "title" and "string title". But we donno the difference b/n the two. If it works out we can find the difference. But it is not working too. So we are not able to find the difference between the two.
    (3) And I tried setting the crawler parameter of my own instead of the standard crawler. But the index was found to be inactive when i set that to my crawler and it worked fine with the standard crawler. I am not able to make it active. Any clues behind this?
    Expect all your guidance and help.
    best regds,
    alagammai.

    Hi Alagammai,
    concerning issues (1) and (2).
    Normally the mentioned properties are displayed as 'Name' and 'Namme as String'.
    These two properties are(in most cases) the title of the document.
    One is indexed  in 'Text' format. The other one in 'String' format. That results into different opportunities within the query based classification.
    'Displayname as String' can be used to sort documents alphabetically: A, B, ... into categories.
    'Displayname' allows you to do a linguistic scan on document titles.
    To separate file types I would use the property MIME-Type.
    But you may try to define a query *.doc for the property 'Name as String'.
    Regards Matthias

  • "Failed to open cursor" while creating CTXCAT index. Bug?

    Hi,
    I'm trying to create a catalog index on a rather large table. And I am consistently getting the following error. When the table was half the size, the same CREATE INDEX statement worked just fine. However, when the table grows to a certain size, that statement no longer works.
    I searched the whole forum and I did not find anything about this error. Am I the first to encounter it? Can this be a bug?
    Any advice is greatly appreciated.
    Yongtao
    SQL>create index myindex on mytable(mycolumn) indextype is ctxsys.ctxcat parameters ('index set myindexset section group mysectiongroup stoplist mystoplist storage mystorage lexer mylexer');
    create index myindex on mytable(mycolumn) indextype is ctxsys.ctxcat parameters ('index set myindexset section group mysectiongroup stoplist mystoplist storage mystorage lexer mylexer')
    ERROR at line 1:
    ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
    ORA-20000: Oracle Text error:
    DRG-50800: failed to open cursor
    DRG-50857: oracle error in drsxsopen
    ORA-00942: table or view does not exist
    ORA-06512: at "CTXSYS.DRUE", line 160
    ORA-06512: at "CTXSYS.CATINDEXMETHODS", line 97
    Elapsed: 09:07:26.25
    SQL>

    Looks like a bug to me. Did it error out immediately, or only after processing for some time?
    Do you get the same problem without the storage clause?

  • Error while importing table having ctxcat index

    Hi
    I created a table and ctxcat index on the same. I exported the same. While importing, table got imported but for index creation it gave error imp-00017 with ora-29855.
    Though the index have been created but with some errors. I can see the index in all_indexes table but if i try to see the entry in dba_segments, record is not found.
    Seems that index is not created properly.
    Pls suggest ASAP.
    Regards
    Rajiv

    What's your source and target Oracle version ?
    1) make sure context option is installed on target DB
    2) create a user ctxsys, the schema where the context related objects resides

  • Ctxcat index supporting multicolumn datastore

    I've been looking to see if a ctxcat index supports something like a multicolumn datastore.
    What I'm trying to do is to search multiple columns (all 256 bytes in size or less) using a like query on each of those columns with the result being ordered by up to 3 different non searched columns
    For example, the book scenerio
    A table with the following columns
    title
    publisher
    author
    publication_date
    quantity
    location
    I want to be able to search on title, publisher, and author all at once (optionally searching the tokens with % symbols), and then sorting on publication_date, quantity and location.
    Now doing the context index, it worked fine, until I started ordering the results. Straight "like" queries with the ordering were returning quicker.
    So I've started looking at ctxcat indexes to provide the flexibility of mixed query searching using the "order by" in the catsearch function.
    The question is, how do I setup and search all three columns(title, publisher, author) at once with ctxcat index? Since ctxcat indexes don't support support the datastore option, how do you search on multi-columns? Do I need to make a concatenated column with title, publisher and author, or is there something in the configuration of the ctxcat index that I'm missing?

    i have exactly the same situation - that is i need to search on four columns and am trying to use ctxcat ...
    but the twist i have is - based on what coulmns the user wants to search - i want to limit the serach to ONLY those columns
    Is there some way to do that using ctxcat ? ... other than creating a large number of extra columns containing different combinations of searchable columns... yikes ... wont even go there ....

  • CTXCAT index support MULTI_COLUMN_DATASTORE?

    I've been using a CONTEXT index in my app, however, having to re-synchronize the index is an issue with my high insert rate. So, I'm considering using a CTXCAT since all db updates are transactional.
    However, my CONTEXT query uses a MULTI_COLUMN_DATASTORE to query multiple columns via the concatenated column and it doesn't look like the CTXCAT index will support MULTI_COLUMN_DATASTORE? Does anyone know?
    If the MULTI_COLUMN_DATASTORE is not supported, is there an alternative query I could use whilst still being able to use CTXCAT index?
    Many thanks!

    Hi David,
    Until you get to 10g would a job that sync's frequently work? It sounds like the new sync on commit is what you need (provided it wouldn't cause performance problems for you), so would the job be an acceptable workaround until you upgrade?
    -Ron

  • Create CTXCAT  index in parallel mode

    I am using Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production with oracle text version 11.2.0.2.0.
    Following script is used to create the ctxcat index but I noticed it is not creating the index in parallel. We have 16 cpu server. The table onto which text index is created has no partition.
    BEGIN
    --Storage preference
    Ctx_Ddl.Create_Preference ('IDX_STORE', 'basic_storage');
    Ctx_Ddl.Set_Attribute (preference_name => 'IDX_STORE',
    attribute_name => 'I_TABLE_CLAUSE',
    attribute_value => 'TABLESPACE C_DATA_02');
    Ctx_Ddl.set_attribute ('IDX_STORE',
    'I_INDEX_CLAUSE',
    'TABLESPACE C_IDX_02 COMPRESS 2');
    Ctx_Ddl.set_attribute (
    'IDX_STORE',
    'R_TABLE_CLAUSE',
    'TABLESPACE C_DATA_02 LOB(DATA) STORE AS (CACHE)'
    --Wordlist
    ctx_ddl.create_preference ('nbcwordlist', 'BASIC_WORDLIST');
    ctx_ddl.set_attribute ('nbcwordlist', 'PREFIX_INDEX', 'TRUE');
    ctx_ddl.set_attribute ('nbcwordlist', 'PREFIX_MIN_LENGTH', 1);
    ctx_ddl.set_attribute ('nbcwordlist', 'PREFIX_MAX_LENGTH', 64);
    ctx_ddl.set_attribute ('nbcwordlist', 'SUBSTRING_INDEX', 'NO');
    END;
    CREATE INDEX FTS_IDX ON INDVL_SRCH_NM (SRCH_NM)
    INDEXTYPE IS CTXSYS.CTXCAT
    PARAMETERS('STORAGE IDX_STORE STOPLIST C_STOPLIST WORDLIST C_WORDLIST')
    PARALLEL (DEGREE 16);
    What should be done to create this index in parallel? Is there any other thing that can be done to speed up creation without disabling prefix index.
    Thanks. I appreciate you time and effort.
    Edited by: spur230 on Nov 14, 2011 4:53 PM

    Hi,
    in the manual some remarks are made for parallel indexing, see http://download.oracle.com/docs/cd/E14072_01/text.112/e10945/ind.htm#CIHCBABI
    So it is possible to index in parallel, but you don't have control, the oracle db decides this for you. So it is possible that Oracle thinks that single indexing is faster, more work is done in the database besides the index creation, and many more factors (also mentioned in above document).
    I did many parallel indexing on systems, but always on quiet moments, so I have the most resources for creating indexes. Furthermore I noticed that system statistics can influence the creation. If the statistics are good for the CPU and I/O, the parallel creation can be optimised by the db.
    Herald ten Dam
    http://htendam.wordpress.com

Maybe you are looking for