Portal - Oracle text URL item search error - DRG-11614

HI,
I have enabled text searching and created a URL item to http://www.news.com
I have sync'd the Oracle Text index and on looking at ctxsys.ctx_user_index_errors
I see
ERR_INDEX_NAME ERR_TIMES ERR_TEXTKEY
ERR_TEXT
WWSBR_URL_CTX_INDX 15-SEP-04 AAAOR8AAGAAAA47AAI
DRG-11614: URL store: communication with host specified in http://www.news.com t
imed out
Can anyone tell me what is causing this?
Thanks
Joel.
(Oracle Portal Version: 9.0.4.0.99)

Joel
Does your database host require a proxy in order to be able to contact the website?
You can set the proxy that Portal uses from the Global Settings pages - there is a link to these from the Services portlet, an instance of which can be found on the Administration tab of the Desgin Time pages.
Once you've changed the proxy setting you'll need to recreate the URL index so that it can have another go at indexing your website with the Proxy. Please refere to the Search Configuration chapter in the Portal Configuration Guide for more information.
http://download.oracle.com/docs/cd/B10464_01/portal.904/b10356/toc.htm

Similar Messages

  • Help needed with oracle text special character search

    Hi all
    Using oracle 11g sql developer 4.0
    I am facing this challenge where Oracle text when it comes to searching text that contains special character.
    This what I have done so far with help of http://www.orafaq.com/forum/t/162229/
      CREATE TABLE "SOS"."COMPANY"
       ( "COMPANY_ID" NUMBER(10,0) NOT NULL ENABLE,
      "COMPANY_NAME" VARCHAR2(50 BYTE),
      "ADDRESS1" VARCHAR2(50 BYTE),
      "ADDRESS2" VARCHAR2(10 BYTE),
      "CITY" VARCHAR2(40 BYTE),
      "STATE" VARCHAR2(20 BYTE),
      "ZIP" NUMBER(5,0)
       ) SEGMENT CREATION IMMEDIATE
      PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
      TABLESPACE "USERS" ;
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (1,'LSG SOLUTIONS LLC',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (2,'LOVE''S TRAVEL',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (3,'DEVON ENERGY',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (4,'SONIC INC',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (5,'MSCI',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (6,'ERNEST AND YOUNG',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (7,'JOHN DEER',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (8,'Properties@Oklahoma, LLC',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (9,'D.D.T  L.L.C.',null,null,null,null,null);
       BEGIN
    CTX_DDL.CREATE_PREFERENCE ('your_lexer', 'BASIC_LEXER');
         CTX_DDL.SET_ATTRIBUTE ('your_lexer', 'SKIPJOINS', '.,@-'''); -- to skip . , @ - ' symbols
        END;
      CREATE INDEX my_index2 ON COMPANY(COMPANY_NAME)
         INDEXTYPE IS CTXSYS.CONTEXT PARALLEL
       PARAMETERS ('LEXER your_lexer');   
    SELECT
    company_name
    FROM company
    WHERE CATSEARCH(company.COMPANY_NAME, 'LLC','') > 0
    ORDER BY company.COMPANY_ID;
    output
    company_name
    1 LSG SOLUTIONS LLC
    2 Properties@Oklahoma, LLC
    only return 2 row but should return 3

    I just noticed that I forgot to use an empty stoplist, so I have added that to the revised example below.  Otherwise, it uses a default stoplist that would not index common single-letter words like A and I.
    1. Whtat is Just search on single character 'L'? It give me error.
    Since it uses the NEAR operator, searching for just one letter causes incomplete syntax, asking it to search for L near a missing second value.  So, I have added additional code to allow for just one letter.
    2. How do I do auto refresh on this index on datastore?
    If I add "sync        (on commit)" it does not refresh the previously set token.
    Sync(on commit) does synchronize so that the data is immediately searchable.  You have to either optimize or rebuild or drop and recreate the index to condense the rows in the domain index table.
    3.lastly explanation of
    <seq>NEAR((' || letters_func (:search_string) || '),1,TRUE)</seq>
                      <seq>NEAR((' || letters_func (:search_string) || '),100,TRUE)</seq>
                    <seq>NEAR((' || letters_func (:search_string) || '),100,FALSE)</seq>
    why 100 true and 100 false
    100 is just a default value that I used for the second parameter of near, indicating how close the letters need to be to each other.  True and False are values for the third parameter of near, indicating whether or not the letters must be in the same order or not.  So, it returns the results in the order of first those that are very close to one another and in the same order, then those that may be further away but in the same order, then those that may be further away and in any order.
    SCOTT@orcl12c> CREATE TABLE company_near
      2    (company_id    NUMBER(10,0) NOT NULL ENABLE,
      3      company_name  VARCHAR2(50 BYTE))
      4  /
    Table created.
    SCOTT@orcl12c> SET DEFINE OFF
    SCOTT@orcl12c> BEGIN
      2  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (1,'LSG SOLUTIONS LLC');
      3  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (2,'LOVE''S TRAVEL');
      4  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (3,'DEVON ENERGY');
      5  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (4,'SONIC INC');
      6  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (5,'MSCI');
      7  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (6,'ERNEST AND YOUNG');
      8  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (7,'JOHN DEER');
      9  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (8,'Properties@Oklahoma, LLC');
    10  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (9,'D.D.T  L.L.C.');
    11  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (10,'LSG COMPANY, LLC');
    12  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (11,'LSG STAFFING, LLC');
    13  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (12,'L & S GROUP LLC');
    14  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (13,'L S & G, INC.');
    15  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (14,'L.S.G. PROPERTIES, L.L.C.');
    16  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (15,'LSGS PROPERTIES, LLC');
    17  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (16,'LSQ INVESTORS, L.L.C');
    18  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (17,'LHP SHERMAN/GRAYSON, LLC');
    19  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (18,'Walmart');
    20  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (19,'Wal mart');
    21  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (20,'LSG Property Investments, L.L.C.');
    22  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (21,'1224 S GALVESTON AVE, LLC');
    23  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (22,'1527 S GARY AVE, LLC');
    24  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (23,'FIFTEENTH STREET GRILL');
    25  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (24,'Massa Lobortis LLP');
    26  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (25,'Risus A Inc.');
    27  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (26,'Dollar $ store');
    28  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (27,'L.O.V.E., INC. ');
    29  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (28,'J-MART LLC ');
    30  END;
    31  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> CREATE OR REPLACE FUNCTION letters_func
      2    (p_string IN VARCHAR2)
      3    RETURN        VARCHAR2
      4  AS
      5    v_string     VARCHAR2(4000);
      6  BEGIN
      7    FOR i IN 1 .. LENGTH (p_string)
      8    LOOP
      9       IF REGEXP_LIKE (SUBSTR (p_string, i, 1), '[A-Z]', 'i')
    10       THEN
    11         v_string := v_string || SUBSTR (p_string, i, 1) || ',';
    12       END IF;
    13    END LOOP;
    14    v_string := RTRIM (v_string, ',');
    15    RETURN v_string;
    16  END letters_func;
    17  /
    Function created.
    SCOTT@orcl12c> BEGIN
      2    CTX_DDL.CREATE_PREFERENCE ('letters_datastore', 'MULTI_COLUMN_DATASTORE');
      3    CTX_DDL.SET_ATTRIBUTE
      4       ('letters_datastore',
      5        'COLUMNS',
      6        'letters_func (company_name) company_name');
      7    CTX_DDL.SET_ATTRIBUTE ('letters_datastore', 'DELIMITER', 'NEWLINE');
      8  END;
      9  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> CREATE INDEX letters_index ON company_near (company_name)
      2  INDEXTYPE IS CTXSYS.CONTEXT
      3  PARAMETERS
      4    ('DATASTORE  letters_datastore
      5       STOPLIST   CTXSYS.EMPTY_STOPLIST
      6       SYNC        (ON COMMIT)')
      7  /
    Index created.
    SCOTT@orcl12c> SELECT COUNT(*) FROM dr$letters_index$i
      2  /
      COUNT(*)
            24
    1 row selected.
    SCOTT@orcl12c> VARIABLE search_string VARCHAR2(100)
    SCOTT@orcl12c> EXEC :search_string := 'LSG'
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> SELECT SCORE(1), company_id, company_name
      2  FROM   company_near
      3  WHERE  CONTAINS
      4            (company_name,
      5             '<query>
      6            <textquery>
      7              <progression>
      8                <seq>'       || :search_string            || '</seq>
      9                <seq>NEAR((' || letters_func (:search_string) || '),1,TRUE)</seq>
    10                <seq>NEAR((' || letters_func (:search_string) || '),100,TRUE)</seq>
    11                <seq>NEAR((' || letters_func (:search_string) || '),100,FALSE)</seq>
    12              </progression>
    13            </textquery>
    14             </query>',
    15             1) > 0
    16  ORDER  BY SCORE(1) DESC
    17  /
      SCORE(1) COMPANY_ID COMPANY_NAME
            56          1 LSG SOLUTIONS LLC
            56         10 LSG COMPANY, LLC
            56         11 LSG STAFFING, LLC
            56         12 L & S GROUP LLC
            56         13 L S & G, INC.
            56         14 L.S.G. PROPERTIES, L.L.C.
            56         20 LSG Property Investments, L.L.C.
            56         15 LSGS PROPERTIES, LLC
            31         17 LHP SHERMAN/GRAYSON, LLC
             8         21 1224 S GALVESTON AVE, LLC
             4         22 1527 S GARY AVE, LLC
             4         23 FIFTEENTH STREET GRILL
    12 rows selected.
    SCOTT@orcl12c> EXEC :search_string := 'L'
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> /
      SCORE(1) COMPANY_ID COMPANY_NAME
            78          1 LSG SOLUTIONS LLC
            77          8 Properties@Oklahoma, LLC
            77          9 D.D.T  L.L.C.
            77         10 LSG COMPANY, LLC
            77         11 LSG STAFFING, LLC
            77         12 L & S GROUP LLC
            77         28 J-MART LLC
            77          2 LOVE'S TRAVEL
            77         26 Dollar $ store
            77         24 Massa Lobortis LLP
            77         23 FIFTEENTH STREET GRILL
            77         14 L.S.G. PROPERTIES, L.L.C.
            77         15 LSGS PROPERTIES, LLC
            77         16 LSQ INVESTORS, L.L.C
            77         17 LHP SHERMAN/GRAYSON, LLC
            77         20 LSG Property Investments, L.L.C.
            77         21 1224 S GALVESTON AVE, LLC
            77         22 1527 S GARY AVE, LLC
            76         19 Wal mart
            76         18 Walmart
            76         27 L.O.V.E., INC.
            76         13 L S & G, INC.
    22 rows selected.
    SCOTT@orcl12c> INSERT INTO company_near (company_id, company_name) VALUES (30, 'Laris Gordman llc.'  )
      2  /
    1 row created.
    SCOTT@orcl12c> COMMIT
      2  /
    Commit complete.
    SCOTT@orcl12c> SELECT COUNT(*) FROM dr$letters_index$i
      2  /
      COUNT(*)
            35
    1 row selected.
    SCOTT@orcl12c> EXEC :search_string := 'Laris Gordman llc.'
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> SELECT SCORE(1), company_id, company_name
      2  FROM   company_near
      3  WHERE  CONTAINS
      4            (company_name,
      5             '<query>
      6            <textquery>
      7              <progression>
      8                <seq>NEAR((' || letters_func (:search_string) || '),1,TRUE)</seq>
      9                <seq>NEAR((' || letters_func (:search_string) || '),100,TRUE)</seq>
    10                <seq>NEAR((' || letters_func (:search_string) || '),100,FALSE)</seq>
    11              </progression>
    12            </textquery>
    13             </query>',
    14             1) > 0
    15  ORDER  BY SCORE(1) DESC
    16  /
      SCORE(1) COMPANY_ID COMPANY_NAME
           100         30 Laris Gordman llc.
    1 row selected.
    SCOTT@orcl12c> EXEC CTX_DDL.OPTIMIZE_INDEX ('letters_index', 'FULL')
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> SELECT COUNT(*) FROM dr$letters_index$i
      2  /
      COUNT(*)
            24
    1 row selected.

  • Justification for using Oracle Text vs Other Search Tools

    Hello,
    Can someone give me good cause (justification) for utilizing Oracle Text over other tools out there that are not tied directly to Oracle?
    Apparently it is possible to identify metadata within text and do keyfield and keyword searches this way with other tools, but I question the accuracy, speed, or value in terms of data relationships with this approach. I feel the relationships belong in the database along with the indexes but can't convince anyone of this.
    Has anyone experience working with Oracle Text where relationships help to drive the search and can give me good cause to this approach?
    thanks

    Tools like Autonomy have fantastic searching functions, far in excess of what we get with Text. What they aren't very good at is the database side of things. So if your prime concern is to be able to search free text documents on your file system using a baroque range of filters then Text is not the right choice. But if you want to join the outcomes of free text searches with structured data in database tables or if the text you want to search is stored in database tables then using Oracle's built-in functionality is the better approach.
    From your post I'm not sure which scenario fits your situation more closely.
    Cheers, APC

  • Oracle Text Index  - Trailing Search when the String has spaces

    Hi Am trying to use CONTAINS to tune a trailing LIKE search.  But it's not working when the string has spaces in between them
    For e.g in say if table person has column name which has following values
    JOHN
    FRED JOHNSON
    JOHN ROBERTS
    select * from person where name like 'JOHN%'
    Above query will give JOHN and JOHN ROBERTS. If i use CONTAINS As below
    select * from person where CONTAINS(name,'JOHN%',1) > 0
    It brings back all three records. If i remove spaces in column itself, its working bit if i try to remove spaces in Query, i am getting a Text error as i have Text index only on the name column.  I would like to know is it possible to use CONTAINS but get same result set on trailing search as how a normal LIKE will do.
    Below is how i did Index creation
    create index txt_idx1 on person (name)
    indextype is ctxsys.context
    parameters('DATASTORE ctxsys.default_datastore');

    You could use some method, like a multi_column_datastore or user_datastore to append some specific starting characters, then include those in your search, as shown below.
    SCOTT@orcl12c> CREATE TABLE person
      2    (name  VARCHAR2(60))
      3  /
    Table created.
    SCOTT@orcl12c> INSERT ALL
      2  INTO person VALUES ('JOHN')
      3  INTO person VALUES ('FRED JOHNSON')
      4  INTO person VALUES ('JOHN ROBERTS')
      5  SELECT * FROM DUAL
      6  /
    3 rows created.
    SCOTT@orcl12c> BEGIN
      2    CTX_DDL.CREATE_PREFERENCE ('test_ds', 'MULTI_COLUMN_DATASTORE');
      3    CTX_DDL.SET_ATTRIBUTE ('test_ds', 'COLUMNS', '''start ''||name||'' end'' name');
      4  END;
      5  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> create index txt_idx1 on person (name)
      2  indextype is ctxsys.context
      3  parameters('DATASTORE test_ds')
      4  /
    Index created.
    SCOTT@orcl12c> select * from person where CONTAINS(name,'start JOHN%',1) > 0
      2  /
    NAME
    JOHN
    JOHN ROBERTS
    2 rows selected.
    SCOTT@orcl12c>

  • Oracle Text Exact Phrase searching

    hi folks,
    i'm looking for some help on syntax/formatting for a contains clause that incorporates an exact phrase.
    e.g. if the user enters: "blur or massage"
    i'd like to run the search for the exact phrase rather than in boolean context. any tips? is there some way to set off an exact phrase within the contains clause? the docs aren't too helpful when they state that multiple words separated by spaces will be treated as an exact phrase.
    last note is that the user entered query can be fairly complex - we're rebuilding it to incorporate booleans, stemming, etc. so we'd need to be able to drop the 'exact phrase' into the rest of the search string we use in the contains clause.
    thanks!
    seth

    contains ( col_name, '{your phrase goes here}' )
    You have to use curly braces.
    You can put booleans in between the words if you wish -
    '{your} AND {phrase} AND {goes} AND {here}'

  • How to limit the number of search results returned by oracle text

    Hello All,
    I am running an oracle text search which returned the following error to my java program.
    ORA-20000: Oracle Text error:
    DRG-51030: wildcard query expansion resulted in too many terms
    #### ORA-29902: Fehler bei der Ausführung von Routine ODCIIndexStart()
    ORA-20000: Oracle Text error:
    DRG-51030: wildcard query expansion resulted in too many terms
    java.sql.SQLException: ORA-29902: Fehler bei der Ausführung von Routine ODCIIndexStart()
    ORA-20000: Oracle Text error:
    DRG-51030: wildcard query expansion resulted in too many terms
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169)
    When i looked up the net, one suggestion that was given is to narrow the wildcard query, which i cannot in my search page. Hence I am left with the only alternative of limiting the number of results returned by oracle text search query.
    Please let me know how to limit the number of search results returned by oracle text so that this error can be avoided.
    Thanks in advance
    krk

    Hi,
    If not set explicitly, the default value for WILDCARD_MAXTERMS is 5000. This is set as a wordlist preference. This means that if your wildcard query matches more than 5000 terms the message is returned. Exceeding that would give the user a lot to sift through.
    My suggestion: trap the error and return a meaningful message to the user indicating that the search needs to be refined. Although it is possible to increase the number of terms before hitting maxterms (increase wildcard_maxterms preference value for your wordlist), 5000 records is generally too much for a user to deal with anyway. The search is not a good one since it is not restricting rows adequately. If it happens frequently, get the query log and see the terms that are being searched that generate this message. It may be necessary to add one or more words to a stoplist if they are too generic.
    Example: The word mortgage might be a great search term for a local business directory. It might be a terrible search term for a national directory of mortgage lenders though (since 99% of them have the term in their name). In the case of the national directory, that term would be a candidate for inclusion in the stoplist.
    Also remember that full terms do not need a wildcard. Search for "car %" is not necessary and will give you the error you mentioned. A search for "car" will yield the results you need even if it is only part of a bigger sentence because everything is based on the token. You may already know all of this, but without an example query I figured I'd mention it to be sure.
    As for limiting the results - the best way to do that is to allow the user to limit the results through their query. This will ensure accurate and more meaningful results for them.
    -Ron

  • Search for Special Character in  Oracle Text CONTAINS Query

    Hi,
    We have to write few query which will search for email id in the Oracle Text.
    The Search text will be like <[email protected]> .
    So email id should be searched correctly with the @ symbol.
    Similarly we want the following special character to be searched in the Text like ",',*

    You will need to escape the special characters by either using \ in front of each special character or putting {} around the whole phrase that contains the special characters, as per the online documentation:
    http://download.oracle.com/docs/cd/B28359_01/text.111/b28304/cqspcl.htm#CCREF2091

  • Oracle Text Search of HTML Text region

    I am using Oracle Text as a search tool in my application. It will search text that is in my Oracle tables, but I would also like it to be able to search APEX regions, such as 'HTML Text' regions. For example, I have a title in a HTML Text region. Is there a way to use Oracle Text to not only search the tables i have created, but search on APEX regions, such as a HTML Text region?
    Thanks,
    John

    The APEX metadata is exposed in a number of views defined in the APEX schema (depending on version). See [Dmitri's blog post|http://dgielis.blogspot.com/2008/11/apex-views-are-so-useful.html] for more information. The APEX_APPLICATION_PAGE_REGIONS view contains columns that would be relevant, like region titles and HTML source.
    This information can be combined with information from other sources in a [single text index|http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:9455353124561]&mdash;look for up-to-date methods for your Oracle version on Ask Tom or the [Text forum|http://forums.oracle.com/forums/forum.jspa?forumID=71].
    (Note that it's a good idea to include APEX and database version information when asking a question as it enables people to identify the most appropriate solution.)

  • Searching from beginning of a line/string with Oracle Text ...

    Oracle Database 10.2.0.3, Solaris
    Hi,
    what sounds very easy with the LIKE operator seems to be impossible with the Oracle Text Operator Contains ;
    Searching for 'Deutsche%' results with LIKE ->
    'Deutsche Bank'
    'Deutsche Post'
    'Deutsche Oracle Community'
    But with Contains-Operator which is token based the result is following ('$Deutsche%')
    'Deutsche Bank'
    'Armin Deutscher'
    We want to get results starting with 'Deutscher...' But with Contains and some configuration i did not find a way. Combining LIKE with Contains did not help too because Contains expands the word in more instances then LIKE.
    Indexed Columns are varchar2 typed
    any idea?
    kind regards
    Karl
    Message was edited by:
    kreitsch

    Have you evaluated the query rewrite template with CONTAINS?
    http://download.oracle.com/docs/cd/B19306_01/text.102/b14218/csql.htm#sthref122

  • Performance of Oracle Text

    Hi,
    I'm tasked to help design an application that will have Oracle Text powering the searching logic. The application will have millions of records (in the 30 million to 50 million range), but there's a restriction that 95% of all searches must be able to complete in 1 second or less (!)
    So, my question is, is it possible for Oracle Text to meet this criteria? Assuming we have the best hardware, etc. Or should I look for another solution/approach?
    Regards,
    Roy

    Hi Roy,
    It's pretty hard to give a yes/no answer based on the limited information. I will say that Oracle's method of indexing is fairly standard (dictionary/postings list) so you are not likely to find a better solution if your records are stored in Oracle. The Oracle Text advantage - tight integration with the database already. You have storage and query optimization features of Oracle when using Oracle Text. < 1 sec response time is pretty tight for any search, but I don't think you'd have any better chance at hitting it with another solution.
    Thanks,
    Ron

  • Oracle Text

    Hi Expert,
    how can i use the Oracle text to do searching with the XML documents?
    as i shredded the xml documents into the SQL view already,
    i cannot create index onto those views.
    what can i do with the Oracle text search?
    THX a lot~!
    Edith

    Hi Edith:
    Oracle Text can index document in UTF8 or any other encoding supported by Oracle.
    Assuming that your table is LRPAPER_XMLTYPE_TBL you can create a Text index with:
    create index LRPAPER_XMLTYPE_TBL_idx on LRPAPER_XMLTYPE_TBL p (value(p)) indextype is ctxsys.context;If you have documents with different languages stored in the same table you has to find some scalar column to be used as discriminator value. In my example "lang" is an scalar column of type varchar2. See the annotated schema at:
    http://www.dbprism.com.ar/xsd/document-v20-ann.xsd
    This annotated schema creates these Oracle types:
    SQL> desc "document"
    Name                                      Null?    Type
    SYS_XDBPD$                                         XDB.XDB$RAW_LIST_T
    id                                                 VARCHAR2(4000 CHAR)
    lang                                               VARCHAR2(4000 CHAR)
    header                                             headerType
    body                                               CLOB
    footer                                             footerType
    SQL> desc "headerType"
    "headerType" is NOT FINAL
    Name                                      Null?    Type
    id                                                 VARCHAR2(4000 CHAR)
    lang                                               VARCHAR2(4000 CHAR)
    title                                              VARCHAR2(4000 CHAR)
    subtitle                                           VARCHAR2(4000 CHAR)
    version                                            versionType
    type                                               VARCHAR2(4000 CHAR)
    authors                                            authorsType
    notice                                             VARCHAR2(4000 CHAR)
    abstract                                           VARCHAR2(4000 CHAR)
    meta                                               metaListSo the syntax "XMLDATA"."lang" is referencing to the attribute (column) "lang" of the type document.
    Best regards, Marcelo.

  • Beginning Oracle Text...

    Could someone perhaps point to a good online source of basic information about how to USE oracle text in searches?
    I'm specifically looking for information about how to do searches like {woman NOT man}, or whether "woman" will select "women" or whether "$woman" will select "man" and so on. What switches are there to control what is searched for? What booleans are allowed and how must they be presented, and so on.
    I'm doing OK with the official oracle documentation, but something snappier and abstracted would be good to find!
    Any good book recommendations would be appreciated, too. (Especially since doing a search at Amazon for "oracle text" brings up a lot of textbooks about Oracle, but not many obviously about the specific database feature!)
    In the meantime, could someone answer a simple question I've not been able to find a simple answer to so far? Can Oracle text do 'NOT' searches? (As in 'man not boy')?

    Most of what you are asking about is covered in the section of the Text Reference on Contains Query Operators:
    http://download.oracle.com/docs/cd/B28359_01/text.111/b28304/cqoper.htm#CCREF0300
    Here are some examples regarding the specific questions you asked:
    SCOTT@orcl_11g> CREATE TABLE test_tab (test_col VARCHAR2 (60))
      2  /
    Table created.
    SCOTT@orcl_11g> INSERT ALL
      2  INTO test_tab (test_col) VALUES ('woman')
      3  INTO test_tab (test_col) VALUES ('man woman')
      4  INTO test_tab (test_col) VALUES ('women')
      5  INTO test_tab (test_col) VALUES ('men women')
      6  INTO test_tab (test_col) VALUES ('man boy')
      7  INTO test_tab (test_col) VALUES ('man')
      8  SELECT * FROM DUAL
      9  /
    6 rows created.
    SCOTT@orcl_11g> CREATE INDEX test_idx ON test_tab (test_col) INDEXTYPE IS CTXSYS.CONTEXT
      2  /
    Index created.
    SCOTT@orcl_11g> SELECT * FROM test_tab WHERE CONTAINS (test_col, 'woman NOT man') > 0
      2  /
    TEST_COL
    woman
    SCOTT@orcl_11g> SELECT * FROM test_tab WHERE CONTAINS (test_col, 'woman') > 0
      2  /
    TEST_COL
    woman
    man woman
    SCOTT@orcl_11g> SELECT * FROM test_tab WHERE CONTAINS (test_col, '$woman') > 0
      2  /
    TEST_COL
    woman
    man woman
    women
    men women
    SCOTT@orcl_11g> SELECT * FROM test_tab WHERE CONTAINS (test_col, 'man NOT boy') > 0
      2  /
    TEST_COL
    man woman
    man
    SCOTT@orcl_11g>

  • Oracle text stemmer  arabic

    hi for all
    i use oracle text for indexing arabic and english documents
    all are ok but stemer for arabic not work ?????
    i try all lexer but all not success to index arabic stemmer !!1
    any one can help me?
    and does oracle text support fuzzy search for language arabic ?
    note : i use oracle 11.0.2 g .
    thanks

    I'm not sure why you've got:
    ctx_ddl.set_attribute('mylex', 'index_stems', '8');It should be
    ctx_ddl.set_attribute('mylex', 'index_stems', 'YES');Arabic stemming in auto_lexer DOES work. I've successfully tested it in a PHP environment.
    It's not easy to do in SQL*Plus due to character set issues. It may be that what you think you're putting into the database is not what the stemmer thinks is in there.
    If "docs" is a VARCHAR2 column, then do:
    "select dump(docs) from test"
    and make sure that the characters you get back (in decimal form) are what you would expect given your character set settings.
    Also, no stemmer is perfect. They will not contain all possible stems for every word. Make sure you run your test with a variety of terms. I can't read Arabic, so have no idea of the terms you're using.
    You can look at the tokens in your index table as follows. To find all tokens with their token_type (generally, 0 for normal words, 9 for stems) do:
    select token_type, token_text, dump(token_text) from eq_test.dr$index_test$ii order by token_text;and to get just the stems:
    select token_type, token_text, dump(token_text) from eq_test.dr$index_test$i
           where token_type = 9
           and token_text not in
                 ( select token_text from eq_test.dr$index_test$i where token_type = 0 );

  • ERROR at line 1: ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine ORA-20000: Oracle Text error: DRG-10700: preference does not exist: global_lexer ORA-06512: at "CTXSYS.DRUE", line 160 ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 366

    database version 11.2.0.4
    rac two node
    CREATE INDEX MAXIMO.ACTCI_NDX3 ON MAXIMO.ACTCI
    (DESCRIPTION)
    INDEXTYPE IS CTXSYS.CONTEXT
    PARAMETERS('lexer global_lexer language column LANGCODE')
    ERROR at line 1:
    ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
    ORA-20000: Oracle Text error:
    DRG-10700: preference does not exist: global_lexer
    ORA-06512: at "CTXSYS.DRUE", line 160
    ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 366

    Like the error message says, you don't have a global_lexer.  So, you need to create a global_lexer and that lexer must have at least a default sub_lexer, then you can use that global_lexer in your index parameters.  Please see the demonstration below, including reproduction of the error and solution.
    SCOTT@orcl12c> -- reproduction of problem:
    SCOTT@orcl12c> CREATE TABLE actci
      2    (description  VARCHAR2(60),
      3      langcode     VARCHAR2(30))
      4  /
    Table created.
    SCOTT@orcl12c> CREATE INDEX ACTCI_NDX3 ON ACTCI (DESCRIPTION)
      2  INDEXTYPE IS CTXSYS.CONTEXT
      3  PARAMETERS('lexer global_lexer language column LANGCODE')
      4  /
    CREATE INDEX ACTCI_NDX3 ON ACTCI (DESCRIPTION)
    ERROR at line 1:
    ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
    ORA-20000: Oracle Text error:
    DRG-10700: preference does not exist: global_lexer
    ORA-06512: at "CTXSYS.DRUE", line 160
    ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 366
    SCOTT@orcl12c> -- solution:
    SCOTT@orcl12c> DROP INDEX actci_ndx3
      2  /
    Index dropped.
    SCOTT@orcl12c> BEGIN
      2    CTX_DDL.CREATE_PREFERENCE ('global_lexer', 'multi_lexer');
      3    CTX_DDL.CREATE_PREFERENCE ('english_lexer', 'basic_lexer');
      4    CTX_DDL.ADD_SUB_LEXER ('global_lexer', 'default', 'english_lexer');
      5  END;
      6  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> CREATE INDEX ACTCI_NDX3 ON ACTCI (DESCRIPTION)
      2  INDEXTYPE IS CTXSYS.CONTEXT
      3  PARAMETERS('lexer global_lexer language column LANGCODE')
      4  /
    Index created.

  • Urgent: Oracle Text error: DRG-10001: can not access result table

    Hi,
    I am getting the "DRG-10001:can not access result table" error when trying to run the oracle text procedure ctx_cls.train within HTMLDB. The schema i used for parsing is granted with the necessary privileges, and i can run the procedure manually using the same schema in sqlplus. Following is the script I am trying to run:
    1. begin
    2. ctx_cls.train(
    3. index_name => 'MyDocindex',
    4. docid => 'MyDoc_id',
    5. cattab => 'MyDocTab_categories',
    6. catdocid => 'cat_MyDoc_id',
    7. catid => 'cat_id',
    8. restab => 'rules',
    9. rescatid => 'rule_cat_id',
    10. resquery => 'rule_text',
    11. resconfid => 'rule_confidence'
    12. );
    13. end;
    Please help urgently!
    Thanks
    RG

    I seem to have hit a similar problem.
    Did you eventually resolve this problem?
    Rgds
    Z

Maybe you are looking for

  • Renaming a NameSpace in BPEL

    Hi All, Can anyone help me on how to rename a namespace in a Payload using BPEL. i have a payload like this <urn1:Test xmlns:urn1="xxxxxxxxxxx"> <x>hi</x> </urn1:Test> i want to rename the namespace like this xmnls:urn1="yyyyyyy" <urn1:Test xmlns:urn

  • My z2 has 17.1.2.A.0.314 firmware , my wife's is 17.1.A.2.55

    Hello : My z2 has 17.1.2.A.0.314  firmware , my wife's is 17.1.A.2.55 . Weird - In the phone it says it is all updated ? Can you undate it manually ? Thanks Solved! Go to Solution.

  • Microphone making a lot of noise!

    Alright so its been almost a year that my macbook pro has been having this issue. The microphone works however there is alot of what sounds like static. With skype facetime oovoo and photobooth, same issue. When Im on a call with skype or facetime th

  • Fire fox is not repsonding?

    Web site informed me that there was an update available and I clicked ok in order to update, ever since when I try to open fire fox the message says ""your computer must be restarted to complete a previous upgrade of firefox. do you want to reboot no

  • Are there earphones for iPod as comfortable as the iPhone's Bluetooth?

    This has got to be thee most comfortable earphone I've ever tried - the iPhone's Bluetooth thing by Apple. Does anybody know if there is are earphones usable with the iPod that are as comfortable (and stay in the ear - like the iPhone's one)? The App