Build text-index based on a given list of words or phrases.

I'm somewhat of a beginner to this text-indexing. I've been able to build and query a simple text-index and even implement my own list of stop-words. However, I'd like to be able to control the set of words that are indexed.
For example, If I have a table that contains a CLOB field filled with text documents and I also have a list of 200 words:
"TUBERCULOSIS"
"DIABETES"
"CHEMOTHERAPY"
Can I generate an index that only indexes the words on that list and ignores all the other words? (the reverse of using a stop-list)
Also, could it be done with a list of phrases instead of single words:
"CARDIAC ABLATION"
"ATRIOVENTRICULAR NODE"
"PULMONARY ABSCESS"
Thanks.

Please see if you can use any of the pieces of the following example.
SCOTT@orcl_11gR2> -- table containing list of phrases:
SCOTT@orcl_11gR2> create table phrases
  2    (phrase        varchar2 (21))
  3  /
Table created.
SCOTT@orcl_11gR2> insert all
  2  into phrases values ('TUBERCULOSIS')
  3  into phrases values ('DIABETES')
  4  into phrases values ('CHEMOTHERAPY')
  5  into phrases values ('CARDIAC ABLATION')
  6  into phrases values ('ATRIOVENTRICULAR NODE')
  7  into phrases values ('PULMONARY ABSCESS')
  8  select * from dual
  9  /
6 rows created.
SCOTT@orcl_11gR2> -- ctxrule index on list of phrases:
SCOTT@orcl_11gR2> create index phrases_idx on phrases (phrase)
  2  indextype is ctxsys.ctxrule
  3  /
Index created.
SCOTT@orcl_11gR2> -- table to hold combination of documents and matching phrases:
SCOTT@orcl_11gR2> create table classifications
  2    (document  clob,
  3       phrase       varchar2 (60))
  4  /
Table created.
SCOTT@orcl_11gR2> -- context index on classifications table:
SCOTT@orcl_11gR2> create index class_phrase_idx
  2  on classifications (phrase)
  3  indextype is ctxsys.context
  4  parameters ('sync (on commit)')
  5  /
Index created.
SCOTT@orcl_11gR2> -- regular index on classifications table:
SCOTT@orcl_11gR2> create index class_phrase_idx2
  2  on classifications (phrase)
  3  /
Index created.
SCOTT@orcl_11gR2> -- table for documents:
SCOTT@orcl_11gR2> create table documents
  2    (document     clob)
  3  /
Table created.
SCOTT@orcl_11gR2> -- trigger to populate classifications table from documents table:
SCOTT@orcl_11gR2> create or replace trigger documents_bir
  2    before insert on documents
  3    for each row
  4  begin
  5    for r in
  6        (select phrase
  7         from      phrases
  8         where  matches (phrase, :new.document) > 0)
  9    loop
10        insert into classifications (document, phrase) values
11          (:new.document, r.phrase);
12    end loop;
13  end documents_bir;
14  /
Trigger created.
SCOTT@orcl_11gR2> -- inserts into documents table:
SCOTT@orcl_11gR2> insert all
  2  into documents values ('word1 tuberculosis word2')
  3  into documents values ('word3 diabetes word4')
  4  into documents values ('word5 chemotherapy word6')
  5  into documents values ('word7 cardiac ablation word8')
  6  into documents values ('word9 atrioventricular node word10')
  7  into documents values ('word11 pulmonary abscess word12')
  8  into documents values ('word13 word14 word15')
  9  select * from dual
10  /
7 rows created.
SCOTT@orcl_11gR2> commit
  2  /
Commit complete.
SCOTT@orcl_11gR2> -- resulting population of classifications table:
SCOTT@orcl_11gR2> column phrase   format a21
SCOTT@orcl_11gR2> column document format a34
SCOTT@orcl_11gR2> select phrase, document from classifications
  2  /
PHRASE                DOCUMENT
TUBERCULOSIS          word1 tuberculosis word2
DIABETES              word3 diabetes word4
CHEMOTHERAPY          word5 chemotherapy word6
CARDIAC ABLATION      word7 cardiac ablation word8
ATRIOVENTRICULAR NODE word9 atrioventricular node word10
PULMONARY ABSCESS     word11 pulmonary abscess word12
6 rows selected.
SCOTT@orcl_11gR2> -- tokens that are indexed:
SCOTT@orcl_11gR2> select token_text from dr$class_phrase_idx$i
  2  /
TOKEN_TEXT
ABLATION
ABSCESS
ATRIOVENTRICULAR
CARDIAC
CHEMOTHERAPY
DIABETES
NODE
PULMONARY
TUBERCULOSIS
9 rows selected.
SCOTT@orcl_11gR2> -- searches using text index:
SCOTT@orcl_11gR2> set autotrace on explain
SCOTT@orcl_11gR2> select phrase, document
  2  from   classifications
  3  where  contains (phrase, 'tuberculosis') > 0
  4  /
PHRASE                DOCUMENT
TUBERCULOSIS          word1 tuberculosis word2
1 row selected.
Execution Plan
Plan hash value: 2513347404
| Id  | Operation                   | Name             | Rows  | Bytes | Cost (%CPU)| Time     |
|   0 | SELECT STATEMENT            |                  |     1 |  2046 |     4   (0)| 00:00:01 |
|   1 |  TABLE ACCESS BY INDEX ROWID| CLASSIFICATIONS  |     1 |  2046 |     4   (0)| 00:00:01 |
|*  2 |   DOMAIN INDEX              | CLASS_PHRASE_IDX |       |       |     4   (0)| 00:00:01 |
Predicate Information (identified by operation id):
   2 - access("CTXSYS"."CONTAINS"("PHRASE",'tuberculosis')>0)
Note
   - dynamic sampling used for this statement (level=2)
SCOTT@orcl_11gR2> select phrase, document
  2  from   classifications
  3  where  contains (phrase, 'cardiac ablation') > 0
  4  /
PHRASE                DOCUMENT
CARDIAC ABLATION      word7 cardiac ablation word8
1 row selected.
Execution Plan
Plan hash value: 2513347404
| Id  | Operation                   | Name             | Rows  | Bytes | Cost (%CPU)| Time     |
|   0 | SELECT STATEMENT            |                  |     1 |  2046 |     4   (0)| 00:00:01 |
|   1 |  TABLE ACCESS BY INDEX ROWID| CLASSIFICATIONS  |     1 |  2046 |     4   (0)| 00:00:01 |
|*  2 |   DOMAIN INDEX              | CLASS_PHRASE_IDX |       |       |     4   (0)| 00:00:01 |
Predicate Information (identified by operation id):
   2 - access("CTXSYS"."CONTAINS"("PHRASE",'cardiac ablation')>0)
Note
   - dynamic sampling used for this statement (level=2)
SCOTT@orcl_11gR2> select phrase, document
  2  from   classifications
  3  where  contains (phrase, '%ab%') > 0
  4  /
PHRASE                DOCUMENT
DIABETES              word3 diabetes word4
CARDIAC ABLATION      word7 cardiac ablation word8
PULMONARY ABSCESS     word11 pulmonary abscess word12
3 rows selected.
Execution Plan
Plan hash value: 2513347404
| Id  | Operation                   | Name             | Rows  | Bytes | Cost (%CPU)| Time     |
|   0 | SELECT STATEMENT            |                  |     1 |  2046 |     4   (0)| 00:00:01 |
|   1 |  TABLE ACCESS BY INDEX ROWID| CLASSIFICATIONS  |     1 |  2046 |     4   (0)| 00:00:01 |
|*  2 |   DOMAIN INDEX              | CLASS_PHRASE_IDX |       |       |     4   (0)| 00:00:01 |
Predicate Information (identified by operation id):
   2 - access("CTXSYS"."CONTAINS"("PHRASE",'%ab%')>0)
Note
   - dynamic sampling used for this statement (level=2)
SCOTT@orcl_11gR2> -- searches using non-text index:
SCOTT@orcl_11gR2> select phrase, document
  2  from   classifications
  3  where  phrase = 'PULMONARY ABSCESS'
  4  /
PHRASE                DOCUMENT
PULMONARY ABSCESS     word11 pulmonary abscess word12
1 row selected.
Execution Plan
Plan hash value: 4202264836
| Id  | Operation                   | Name              | Rows  | Bytes | Cost (%CPU)| Time     |
|   0 | SELECT STATEMENT            |                   |     1 |  2034 |     1   (0)| 00:00:01 |
|   1 |  TABLE ACCESS BY INDEX ROWID| CLASSIFICATIONS   |     1 |  2034 |     1   (0)| 00:00:01 |
|*  2 |   INDEX RANGE SCAN          | CLASS_PHRASE_IDX2 |     1 |       |     1   (0)| 00:00:01 |
Predicate Information (identified by operation id):
   2 - access("PHRASE"='PULMONARY ABSCESS')
Note
   - dynamic sampling used for this statement (level=2)
SCOTT@orcl_11gR2> select phrase, document
  2  from   classifications
  3  where  phrase = 'PULMONARY ABSCESS'
  4  /
PHRASE                DOCUMENT
PULMONARY ABSCESS     word11 pulmonary abscess word12
1 row selected.
Execution Plan
Plan hash value: 4202264836
| Id  | Operation                   | Name              | Rows  | Bytes | Cost (%CPU)| Time     |
|   0 | SELECT STATEMENT            |                   |     1 |  2034 |     1   (0)| 00:00:01 |
|   1 |  TABLE ACCESS BY INDEX ROWID| CLASSIFICATIONS   |     1 |  2034 |     1   (0)| 00:00:01 |
|*  2 |   INDEX RANGE SCAN          | CLASS_PHRASE_IDX2 |     1 |       |     1   (0)| 00:00:01 |
Predicate Information (identified by operation id):
   2 - access("PHRASE"='PULMONARY ABSCESS')
Note
   - dynamic sampling used for this statement (level=2)
SCOTT@orcl_11gR2> select phrase, document
  2  from   classifications
  3  where  phrase like '%AB%'
  4  /
PHRASE                DOCUMENT
CARDIAC ABLATION      word7 cardiac ablation word8
DIABETES              word3 diabetes word4
PULMONARY ABSCESS     word11 pulmonary abscess word12
3 rows selected.
Execution Plan
Plan hash value: 723026238
| Id  | Operation                   | Name              | Rows  | Bytes | Cost (%CPU)| Time     |
|   0 | SELECT STATEMENT            |                   |     3 |  6102 |     0   (0)| 00:00:01 |
|   1 |  TABLE ACCESS BY INDEX ROWID| CLASSIFICATIONS   |     3 |  6102 |     0   (0)| 00:00:01 |
|*  2 |   INDEX FULL SCAN           | CLASS_PHRASE_IDX2 |     1 |       |     0   (0)| 00:00:01 |
Predicate Information (identified by operation id):
   2 - filter("PHRASE" IS NOT NULL AND "PHRASE" LIKE '%AB%')
Note
   - dynamic sampling used for this statement (level=2)
SCOTT@orcl_11gR2>

Similar Messages

  • Text Indexing based on XML_SECTION_GROUP

    I've text-indexed a column using a section group based on XML_SECTION_GROUP and containing 5 field sections corresponding to 5 xml tags.
    It took a long time to index - somewhere around 12 hours - compared to 2 hours to do a vanilla text index on the same column / same data.
    Is this reasonable - should I expect the indexing time to be roughly equivalent to text-indexing 5 separate columns?
    Thanks in advance!
    Edited by: Cathy Farrell on Jan 7, 2009 8:34 AM

    The following section of the documentation addresses the question, "How long should indexing take?" and offers some suggestions on index memory settings to speed things up.
    http://download.oracle.com/docs/cd/B28359_01/text.111/b28303/aoptim.htm#CCAPP9273

  • Can Pages 4.3 maintain defined text formatting for at a given list level?

    I'm hoping the answer to this question is a simple 'duh' solution that I some how over looked. I'm using Pages 4.3 and I am trying to create a tiered list to organize ideas into different sublevels. I want to be able to write at a particular level, then create sub levels (return -> tab) with different formatting so the levels are easily distinguished at a glance. When I move back to the higher levels (return -> shift + tab), Pages maintaines the text formatting I used at the lower level, rather than returning to the previously used format at the higher level. For example, what I want is ....
    Main 1             --- (Return -> Tab)
    Sub 1             --- (Return -> Shift +Tab)
    Main 2
    What I get is...
    Main 1             --- (Return -> Tab)
    Sub 1             --- (Return -> Shift +Tab)
    Main 2
    This means that anytime I move up or down in the tiers of a list, I need to redefine the formatting for each new bullet. I tried creating my own list styles, but that does not appear to preserve changes made to fonts or sizes. This seems like such a simple function and time saver that I feel like I must be doing something wrong. It has been a while since I used pages, but I don't remember having these problems before. Does pages really require one to reset the formatting everytime the move between list levels?

    Thanks Michael!
    So your suggestion is to create the pricing in ECC and then download it in CRM...
    Now tat would mean that first the mapping has to be performed in ECC for the existing paroducts and product category..then create pricing for those mapped prod. cat. in ECC and then download it to CR M..plz correct me if I am wrong...
    regards,
    Aneesh

  • Listing Views based on a given Table

    With a query how to list the names of views that are based on a given table.

    SELECT NAME,  REFERENCED_NAME FROM ALL_DEPENDENCIES
    WHERE TYPE = 'VIEW'
       AND REFERENCED_NAME = 'table_name'
    [/CODE]

  • Building a JSP-based Web Report with a Parameter Form

    Hi,
    I tried in building a report as shown in the example in OTN under reports in the url
    http://otn.oracle.com/products/reports/htdocs/getstart/examples/ParameterFormJSP/index.html
    i.e for Building a JSP-based Web Report with a Parameter Form. The directions in this document were not clear and if any one document which is clear with instruction will be useful to me. In this example it is shown with search criteria with sigle text box and if any one had idea & code to place an combo box and population of the record group in the combo box.
    Thank you in advance.

    hi,
    we will be releasing a new example w.r.t creating a parameter form using the reports JSP within the next month.
    as for your request for a combo box. this widget is not available via regular HTML form elements. you can either have a select list or dropdown list.
    for a regular select list you would use the following (only pseudo-code)
    <select ...>
    <rw:foreach>
    <option value="<rw:field .../>">
    </rw:foreach>
    </select>
    to populate a select list.
    regards,
    philipp

  • WHERE ... IN ... SELECT records for a given list of PKs (or FKs)

    Hello folks,
    Many times we need to retrieve records for given lists of PKs (or FKs), as:
    p_pk_list := '11,22,33';
    We work in 10g
    A co-worker of mine had a good idea (I thought) to "help" the optimizer and build a recordset in the FROM clause and use it later in WHERE
    SELECT ...
    FROM tableName a,
    (SELECT REGEXP_SUBSTR(p_pk_list, '[^,]+',1,ROWNUM) p_pk_id
    FROM dual
    CONNECT BY ROWNUM <= LENGTH(p_pk_list ) - LENGTH(REPLACE(p_pk_list ,','))) d_pk
    WHERE
    a.ID=d_pk.p_pk_id; -- (1)
    The tragedy is that it takes 4 seconds to retrieve 5 records from the table (no other joins). The table has about 40 columns though and there are about 51000 records. With the SELECT REGEXP_SUBSTR in the WHERE clause, it's a bit worse.
    If (1) is replaced by:
    a.ID IN (11,22,33,44,55);
    the execution takes 0.04 seconds.
    My questions are:
    1. Is this a bad idea to select records for a given list of PKs or FKs? Should one just go for one PK/FK instead?
    2. Why the stiff performance penalty?
    3. Ideally, it would be nice if this would work:
    a.ID IN (p_array);
    where p_array would be an array of integers
    Any elegant sollutions?
    Thanks a lot.
    Dan

    Check the explain plan for both statements.
    I would wager that the overhead you experience is due to the fact that you are comparing apples to oranges here.
    (SELECT REGEXP_SUBSTR(p_pk_list, '[^,]+',1,ROWNUM) p_pk_id
    FROM dual
    CONNECT BY ROWNUM <= LENGTH(p_pk_list ) - LENGTH(REPLACE(p_pk_list ,','))) d_pkreturns a string.
    a.ID IN (11,22,33,44,55);Is a list of numbers.
    If you check the explain plan for the regexp version, you should see an implicit conversion being done for you (converting the number column into a string for comparison) which means you can't use any indexes defined on a.id.
    If you want to use an array of numbers here's an approach using a built in array of numbers.
    declare
       v_number_list  sys.odcinumberlist   default sys.odcinumberlist();
    begin
       v_number_list.extend;
       v_number_list(v_number_list.count) := 100;
       v_number_list.extend;
       v_number_list(v_number_list.count) := 200;
       for vals in
          select *
          from all_objects
          where object_id in
             select column_value
             from table(cast(v_number_list as sys.odcinumberlist))
       loop
          dbms_output.put_line(vals.object_name);
       end loop;
    end;
    25  /
    I_TYPED_VIEW1
    I_NTAB2
    PL/SQL procedure successfully completed.
    ME_XE?Otherwise do an explicit TO_NUMBER on the regexp query so that you can use any indexes defined on the table in question.

  • SQL Server 2008 R2 Express Edition and Full Text Indexing

    Hello, we have recently upgraded our web front end server from SQL Server 2005 (Standard Edition) to SQL Server 2008 R2 Express Edition (in conjuction with upgrading our main production servers to SQL 2008 R2 Standard). We have 12 Databases on our production
    SQL Server that are replicated to our web frontend server to the SQL Express instance. One of these databases has a FULL TEXT INDEX. The production database is running the Adobe iFilter version 9 64Bit. The FULL TEXT CATALOG has been created and populated
    and performs searches as intended. However, upon replication, when using the search option on our web page based on that PDF iFilter, it no longer works. After examining the properties of the FULL TEXT CATALOG, we note that the Catalog size on the subscriber
    end is 0MB in size (whereas it is 3MB on the Publication side). Also the Unique Key Count on the subscriber side is '1' whereas on the publisher side it is 30,000+. After examining the FT Indexing logs on the subscriber side shows an error: "Warning: No appropriate
    filter was found during full-text index population" On the subscriber side which is running Windows Server 2003 and SQL Server 2008 R2 Express Edition, Adobe Reader 10.1.1 is installed (all 32Bit) with the Adobe iFilter AcroRdIF.dll. When running the SELECT
    * from sys.fulltext_document_types T-Sql statement, the list returned shows the PDF filter to be installed and shows the correct path. Under the System Environment Variables, that path has also been installed (from previous recommendations in researching this
    problem). After numerous reboots, service restarts and re-attempts to get the FT Daemon to crawl - no success. Can anyone please help with this problem? Is there something I am missing? In an attempt to work around this problem thinking there might be a version
    conflict between the 64Bit version on the publisher and the 32Bit version on the subscriber, I disabled the replication of the FULL TEXT CATALOG and tried to create a new catalog on the subscriber with the same results. Thank you for your answers in advance
    - Fustrated! Sorry, somehow this got posted originally under Server Design

    Hello Jeff hope your still out there.  I wrote this question 2 years ago and upgraded to SQL Express with advanced services.  Full Text replication worked until last week.  We are operating in a virtual environment.  My publisher box
    is a Windows Server 2008 R2 (64bit) with SQL Server Standard Edition.  My Web front subscriber is a Windows 2003 R2 (32bit) Server with SQL Server 2008 R2 Express SP1 with Advanced Services. Now the exact same thing is happening after 2+ years. 
    We are looking for possible updates that might have broken this but I am stretching that.  Any clues please?  32bit vs. 64bit?

  • How to pass a value to a filter prompt based on a value list?

    I have a query that has a filter prompt that is based on a value list. I want to call this query from another query as a drill down.
    So I build the URL to call the query and pass the value for the filter prompts as URL parameters. For the filter prompts that are simple text fields this works without problems, but how do I pass a value to the filter prompt that is based on the value list?
    I tried passing
    <parameterName>=<valueListId>:616:null
    and that gives me "None" for the value list prompt as expected.
    I then tried to pass the DisplayName (as I would do when setting a default value for the prompt).
    Like this:
    <parameterName>=<displayName>
    but that does not work.
    I also tried some variations/combinations like
    <parameterName>=<valueListId>:616:<displayName>
    but that does not work either.
    So does anybody know how to pass a parameter to the value list prompt?

    Hi Martin,
    I saw the following post which may help answer your question.
    How to default a Value List or Object Picker to a particular value
    Regards,
    Reshma

  • ORACLE TEXT INDEX ON VARCHAR2 COLUMN

    Hello All,
    I find a search in our application very slow so i thought of using ORACLE TEXT CTXCAT index based search but i find certain inconsistencies . How can this be avoided....The following query should not return result if i can replace with oracle text but i find few values....why is that...i have also given few sample results below....
    SELECT first_name
    FROM uc_partner_ms
    WHERE
    Upper(first_name) LIKE '%WIE%'
    minus
    SELECT first_name
    FROM uc_partner_ms
    WHERE CATSEARCH (first_name,'*wie*', null) > 0
    RESULTS ....
    Hans-Werner Mrowiec
    Heinz Oesterwiemann GmbH
    Helmut Froitzheim GmbH, Neuwied
    Heribert Schwies
    Hermann Twieling GmbH & Co. KG
    Horst Breitwieser
    Horst-Dieter Swie
    The script used for creating index is
    begin
    ctx_ddl.create_preference('mylex', 'BASIC_LEXER');
    ctx_ddl.set_attribute ( 'mylex', 'index_themes', 'NO');
    ctx_ddl.set_attribute ( 'mylex', 'mixed_case', 'NO');
    end;
    CREATE INDEX partner_index ON uc_partner_ms (first_name)
    INDEXTYPE IS CTXSYS.CTXCAT
    parameters ( 'LEXER mylex' );
    Where am i wrong i could not guess a trend in the results other than all being in lower case.....

    Catsearch does not support leading wildcards. As a workaround, you can use a query template with context grammar. Please see the reproduction and solution below.
    SCOTT@orcl_11g> -- test environment:
    SCOTT@orcl_11g> CREATE TABLE uc_partner_ms
      2    (first_name  VARCHAR2 (60))
      3  /
    Table created.
    SCOTT@orcl_11g> SET DEFINE OFF
    SCOTT@orcl_11g> INSERT ALL
      2  INTO uc_partner_ms VALUES ('Hans-Werner Mrowiec')
      3  INTO uc_partner_ms VALUES ('Heinz Oesterwiemann GmbH')
      4  INTO uc_partner_ms VALUES ('Helmut Froitzheim GmbH, Neuwied')
      5  INTO uc_partner_ms VALUES ('Heribert Schwies')
      6  INTO uc_partner_ms VALUES ('Hermann Twieling GmbH & Co. KG')
      7  INTO uc_partner_ms VALUES ('Horst Breitwieser')
      8  INTO uc_partner_ms VALUES ('Horst-Dieter Swie')
      9  SELECT * FROM DUAL
    10  /
    7 rows created.
    SCOTT@orcl_11g> begin
      2    ctx_ddl.create_preference('mylex', 'BASIC_LEXER');
      3    ctx_ddl.set_attribute ( 'mylex', 'index_themes', 'NO');
      4    ctx_ddl.set_attribute ( 'mylex', 'mixed_case', 'NO');
      5  end;
      6  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11g> CREATE INDEX partner_index ON uc_partner_ms (first_name)
      2  INDEXTYPE IS CTXSYS.CTXCAT
      3  parameters ( 'LEXER mylex' )
      4  /
    Index created.
    SCOTT@orcl_11g> -- reproduction:
    SCOTT@orcl_11g> SELECT first_name
      2  FROM uc_partner_ms
      3  WHERE
      4  Upper(first_name) LIKE '%WIE%'
      5  minus
      6  SELECT first_name
      7  FROM uc_partner_ms
      8  WHERE CATSEARCH (first_name,'*wie*', null) > 0
      9  /
    FIRST_NAME
    Hans-Werner Mrowiec
    Heinz Oesterwiemann GmbH
    Helmut Froitzheim GmbH, Neuwied
    Heribert Schwies
    Hermann Twieling GmbH & Co. KG
    Horst Breitwieser
    Horst-Dieter Swie
    7 rows selected.
    SCOTT@orcl_11g> -- solution:
    SCOTT@orcl_11g> SELECT first_name
      2  FROM uc_partner_ms
      3  WHERE
      4  Upper(first_name) LIKE '%WIE%'
      5  minus
      6  SELECT first_name
      7  FROM   uc_partner_ms
      8  WHERE  CATSEARCH
      9             (first_name,
    10              '<query>
    11              <textquery grammar="CONTEXT">
    12                %wie%
    13              </textquery>
    14            </query>',
    15              null) > 0
    16  /
    no rows selected
    SCOTT@orcl_11g>

  • What is Full-Text Indexing

    Hi 
    Currently am working indexing method.I what to know what is mean by full-text indexing could please anyone explain with examples and links thanks 

    The
    full-text index is the basis of iFTS (Integrated Full-Text Search). Starting with SQL Server 2005, Full-Text Search supports the creation of indexes on XML columns and allows you to do extremely very fast searches of textual contents
    stored in columns of the char, nchar, varchar, nvarchar and so on.
    So it basically creates an index similar to one you can find at the back of any book. It contains a list of words, with pointers to the tables and rows that contain the words. SQL Server calls
    this index, called a full-text index, when you issue a full-text query; it returns a list of rows that contain the words in your search phrase as shown in here
    SELECT
    * FROM Person.Contact
    WHERE
    CONTAINS(*, ‘“peanut butter” NEAR “jam”’)
    There are
    two ways to create a full-text index, Using T-SQL commands, and
    using the Full-Text Wizard.
    You can find the Wizard here in SSMS
    To build your full-text catalogs and indexes in using T-SQL, you need to use the
    CREATE FULLTEXT commands.
    There are three commands for full-text index creation and maintenance:
    CREATE FULLTEXT CATALOG
    CREATE FULLTEXT INDEX
    ALTER FULLTEXT INDEX
    I hope this helps too to clear up and gives you some hint in making do more research about it. If I were you I would buy this book and read if I need to have more knowledge about it. It's all about Full Text Search.  Pro
    Full-Text Search in SQL Server 2008 by Michael Coles with Hilary Cotter
    Please remember to click “Mark as Answer” on the post that has answered your question as it is very relevant to other community members dealing with same problem in seeking the right answer

  • How to build a query based on(UNION) 3 vendor InfoObject

    Dear Experts:
    I have a requirement to build one query based on 3 vendor InfoObjct: 0VENDOR + 0VEN_COMPC + 0VEN_PURORG.
    I tried to build a multiprovider upon these 3 infoobjects, but when I Identify(Assign) the key for each InfoObject, supposely there should be 3 InfoObject for me to check (0VENDOR, 0VEN_COMPC and 0VEN_PURORG) so that I can UNION these 3 infoobjects together on vendor number. But since the reference infoobject of these 3 vendor master data is different, I can not check the 3 together.
    Can anybody let me know how to build that query? I only need vendor number show once, and the attributes of 0VEN_COMPC and 0VEN_PURORG can be union to 0vENDOR.
    Any post would be appreciated and thank you all in advance!
    Best Regards!
    Tim

    Hi,
    you can create a link between the vendor objects itself, means link 0vendor with 0ven_compc and 0ven_purorg. This should give you a list of all vendors multiplied with the comp codes multiplied with the purch. org. May be here it is possible to create another link between a attribute (eg. comp_code of 0ven_purorg with comp_code of 0ven_compc). In case it is not possible you need to add this link information somehow. Another option might be to create 2 queries. One on a infoset of 0vendor and 0ven_purorg and another one on 0vendor and 0ven_compc.
    regards
    Siggi

  • How do I build a field based on Checkboxes?

    I am VERY new to Javascript...but I think I can do what I want, just not sure of the syntax...
    I have a very large form with lots of checkboxes.
    I want to build (fill) some text responses based on those checkboxes.
    Assuming I have checkboxes 1 -3  (checkbox.1 - checkbox.3)
    In each checkbox the export value is a something like "This is the text associated with checkbox  #1"
    On the last page there is a text Box called "Summary" (summary.1)
    On my LAST page, I want to have a button with a MOUSE-UP script that takes the Export values in checkboxes 1 -3 and puts them into the Textfield "summary"
    This SHOULD be easy right?
    Eventually, if everything else works, I want to build a for-next loop that will cycle through LOTS of checkboxes and build a multi-line Summary, and maybe even Sort it -BUT- only do that when the "build" button is pressed, otherwise the form would always be thrashing....
    This assumes that a non-checked box exportvalue = NUL

    Ok, I wanted to invoke a interactive debug session so I could type in javascript and see what it returned...
    I figured I could fill in the form and have the debugger open next to it.... and qwery the form interactively by typing in commands as if they were script actions
    Uhm...where is that... I tried in both Acrobat Pro-XI and reader to invode a debug session.  Reader doesn't have one and Pro just showed me the console but nothing happned when I typed something into the console.  I expected an error message or something.

  • How to compute a global SCORE over a few oracle text indexed tables?

    Dear experts!
    I want to search a website with Oracle Text. The website consists of four tables:
    - site
    - chapter
    - text
    - binaries
    Each table has two or three columns which should be indexed with oracle text. So I have created a MULTI_COLUMN_DATASTORE oracle text index on each table - So I have four indexes on my website.
    When I want to search over the website I have to join my 4 tables (4 contain clauses). So how do I get a global SCORE over these 4 contains clauses?
    The next question is can I change the weight of my text indexes (useful for the search hit list)? For example the highest weight has the site index, the second highest weight the chapter index and so on?
    Thanks
    Markus

    If it's a simple JOIN, then you could just add the scores for each CONTAINS clause
    select score(1)+score(2)+score(3)+score(4)
    from table1 t1,table2 t2, table3 t3,table4 t4
    where [join conditions]
    and contains(t1.col, 'xxx', 1) > 0 or
    contains(t2, col, 'xxx', 2) > 0 or
    ... etc
    then to change the weight you just add a multiplying factor.
    Can't help thinking it's probably more complex than this, though.

  • Problem with Office document structure when exporting in Windows vs full-text indexing in SQL Server

    Post Author: Atarel
    CA Forum: Exporting
    Product: Crystal Report for .Net 2005Version: distributed with VS 2005Patches Applied: hot fix crnet20win32x86_en_chf.zipOperating System(s): Win2000 Pro SP4, WinXP SP2, Win 2003 Server SP1, Win 2003 Server SP2Database(s): SQL Server 2000, SQL Server 2005Error Messages: None
    We are creating reports with Crystal Report for .Net. We both have a Windows and a Web application connecting to our database. The problem occurs only with the Windows application. We create a report and in the dialog that appears, we choose to export the report in MS Word format. Everythinglooks fine because after we save the document, MS Word is able to open and display the document. However, when we decide to add this Word document in the database in a table that has a image column bound to a full-text indexing schema, that document is never indexed. After fiddling around for a few hours, we realized that the Word document produced during the export is not a true Word document but rather a RTF document that was given a ".doc" extension. Is there a way to have a real Word document when exporting in Windows. The problem does not arise in Web because when we export, the report is displayed in Internet Explorer through the Office plugin. The Office plugin knows how to same a real Word document.
    There is also a problem when exporting to Excel in Windows. It does not yield the same structure as in Web. The format of the export in Windows is not compatible with the Office IFilter of SQL Server 2000/2005, therefore the content is not available for search queries.
    Any patches to fix this problem?
    Regards,
    Ian Perreault

    Post Author: Atarel
    CA Forum: Exporting
    Product: Crystal Report for .Net 2005Version: distributed with VS 2005Patches Applied: hot fix crnet20win32x86_en_chf.zipOperating System(s): Win2000 Pro SP4, WinXP SP2, Win 2003 Server SP1, Win 2003 Server SP2Database(s): SQL Server 2000, SQL Server 2005Error Messages: None
    We are creating reports with Crystal Report for .Net. We both have a Windows and a Web application connecting to our database. The problem occurs only with the Windows application. We create a report and in the dialog that appears, we choose to export the report in MS Word format. Everythinglooks fine because after we save the document, MS Word is able to open and display the document. However, when we decide to add this Word document in the database in a table that has a image column bound to a full-text indexing schema, that document is never indexed. After fiddling around for a few hours, we realized that the Word document produced during the export is not a true Word document but rather a RTF document that was given a ".doc" extension. Is there a way to have a real Word document when exporting in Windows. The problem does not arise in Web because when we export, the report is displayed in Internet Explorer through the Office plugin. The Office plugin knows how to same a real Word document.
    There is also a problem when exporting to Excel in Windows. It does not yield the same structure as in Web. The format of the export in Windows is not compatible with the Office IFilter of SQL Server 2000/2005, therefore the content is not available for search queries.
    Any patches to fix this problem?
    Regards,
    Ian Perreault

  • Problem with oracle text indexes during import

    We have a 9.2.0.6 database using oracle text features on a server with windows 2000 5.00.2195 SP4.
    We need to export its data ( user ARIANE only ) and then import the result into another 9.2.0.6 database.
    The import never comes to an end.
    The only way to make it work is to use the "indexes=n" clause.
    Then ( without the indexes ), we tried to create manually the oracle text indexes.
    We get this error :
    CREATE INDEX ARIANE.DOSTEXTE_DTTEXTE_CTXIDX ON ARIANE.DOSTEXTE (DTTEXTE)
    INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS('lexer ariane_lexer stoplist ctxsys.default_stoplist storage ariane_storage');
    ORA-29855: erreur d'exécution de la routine ODCIINDEXCREATE
    ORA-20000: Erreur Oracle Text :
    DRG-10700: préférence inexistante : ariane_lexer
    ORA-06512: à "CTXSYS.DRUE", ligne 157
    ORA-06512: à "CTXSYS.TEXTINDEXMETHODS", ligne 219
    We then tried to uninstall Oracle text and install it ( My Oracle Support [ID 275689.1] ). The index creation above still fails.
    We also checked our Text installation and setup through My Oracle Support FAQ ( ID 153264.1 ) and everything seems ok.
    Do we have to create some ARIANE* lexer preferences through specific pl/sql ( ctx_report* ? ) before importing anything from the ARIANE user ?
    What do we need to do exactly when exporting data with oracle text features from one database to another given we used to restore the database through a copy of the entire windows files ?
    Is there a specific order to follow to succeed an import ?
    Thank you for your help.
    Jean-michel, Nemours, FRANCE

    Hi
    index preferences are not exported, ie ariane_lexer + ariane_storage, only the Text index metada, thus the DRG-10700 from index DDL on target/import DB.
    I recommend to use ctx_report.create_index_script on source/export DB, see Doc ID 189819.1 for details, export with indexes=N and then create text indexes manually after data import.
    -Edwin

Maybe you are looking for

  • HP external USB DVD Drive not recognized by computer.

    Have HP Mini-210 and HP external USB DVD Drive.  When attached, the DVD drive lights and spins but computor will not recognize it.  When checking Device Manager, it says no driver for DVD drive..  I try to reinstall the driver, and then it says I hav

  • Can I dual boot with MAC OS/X and Windows

    What is the best way to configure a dual boot on my MAC Bookpro laptop? Also, can I dual boot Windows 8 and MAC OS?

  • Web Service Connection Date Input Values Converted to Number

    I am using a Web Service Connection that has an input value called 'ModifiedOn' that is a date type.  The problem that I have is that instead of sending a date string like '2008-08-04' it sends a number '39665' as the input to the web service method

  • How to Increase the retreving size of instances using PAPI filters.

    Hi, How to Increase the retreving size of instances using PAPI filters. In my engine database instance size exceeds 2500 then we are getting following exception. If we login in to user workspace able to see the instances but while trying to retrieve

  • Is it possible to make a template for DVD-SP?

    I know I can make templates in Motion and send the finished product eventually to DVD-SP, but can I make a template with drop-zones etc specifically to work with DVD-SP? I made one in Motion but the drop zones won't work in DVD-SP like they do with t