Oracle Text omitting the words as, is, do, or etc in searches

I am trying to do a search using Oracle Text for the country code for Dominican Republic and I get no hits back. This is also the case for some other countries: IS (Iceland), NO (Norway), IT (Italy). Here is my where clause:
where contains(tablename, 'DO within country')
Is there any workaround for this?

Those words are stopwords, words that Oracle does not tokenize and index and are not searchable. If you do not specify a stoplist, then Oracle uses the default stoplist, that contains these words. If you use an empty stoplist or a stoplist that does not contain those words, then they are tokenized, inexed, and searchable. Please see the demonstration below that first recreates your situation, or something similar since I don't know what sort of section group you are using, then drops the index and recreates it using an empty stoplist, then shows that DO is tokenized, indexed, and searchable.
SCOTT@10gXE> CREATE TABLE your_table
  2    (address   VARCHAR2 (30),
  3       country   VARCHAR2 (2),
  4       tablename VARCHAR2 (30))
  5  /
Table created.
SCOTT@10gXE> INSERT INTO your_table VALUES ('somewhere', 'DO', NULL)
  2  /
1 row created.
SCOTT@10gXE> EXEC CTX_DDL.CREATE_PREFERENCE ('my_multi', 'MULTI_COLUMN_DATASTORE')
PL/SQL procedure successfully completed.
SCOTT@10gXE> EXEC CTX_DDL.SET_ATTRIBUTE ('my_multi', 'COLUMNS', 'address, country')
PL/SQL procedure successfully completed.
SCOTT@10gXE> EXEC CTX_DDL.CREATE_SECTION_GROUP ('my_section_group', 'BASIC_SECTION_GROUP')
PL/SQL procedure successfully completed.
SCOTT@10gXE> EXEC CTX_DDL.ADD_FIELD_SECTION ('my_section_group', 'country', 'country')
PL/SQL procedure successfully completed.
SCOTT@10gXE> CREATE INDEX your_index ON your_table (tablename)
  2  INDEXTYPE IS CTXSYS.CONTEXT
  3  PARAMETERS
  4    ('DATASTORE     my_multi
  5        SECTION GROUP my_section_group')
  6  /
Index created.
SCOTT@10gXE> SELECT token_text FROM dr$your_index$i
  2  /
TOKEN_TEXT
SOMEWHERE
SCOTT@10gXE> SELECT * FROM your_table
  2  WHERE  CONTAINS (tablename, 'DO WITHIN country') > 0
  3  /
no rows selected
SCOTT@10gXE> DROP INDEX your_index
  2  /
Index dropped.
SCOTT@10gXE> CREATE INDEX your_index ON your_table (tablename)
  2  INDEXTYPE IS CTXSYS.CONTEXT
  3  PARAMETERS
  4    ('DATASTORE     my_multi
  5        SECTION GROUP my_section_group
  6        STOPLIST CTXSYS.EMPTY_STOPLIST')
  7  /
Index created.
SCOTT@10gXE> SELECT token_text FROM dr$your_index$i
  2  /
TOKEN_TEXT
DO
SOMEWHERE
SCOTT@10gXE> SELECT * FROM your_table
  2  WHERE  CONTAINS (tablename, 'DO WITHIN country') > 0
  3  /
ADDRESS                        CO TABLENAME
somewhere                      DO
SCOTT@10gXE>

Similar Messages

  • Is there a way to exclude title, heading and bibliography text from the word count in pages?

    I've just got the newest version of pages.
    The word count includes everything, from titles to endnotes - including the numbers in my sub-headings.
    I used to use open office where you could select a style i.e. 'body tex't, and get a word count that didn't include every single word in a document.
    Is there a way of doing something similar, or reseting the word count to only 'body text' so I know exactly how long my essays are?
    Thanks.

    Unfortunately, no version of Pages has this fine-grained control over document components and their word count, so the answer is no, regarding user changeable settings.
    Programmatically, I just told AppleScript to count the words of body text in a currently opened Pages v5.2 document. The count matched the Pages word count for the document. So, no solution there either.

  • Does anyone know official page of Oracle Text in the OTN

    http://technet.oracle.com/products/text/ and http://www.oracle.com/technology/products/text/index.html don't work any more.

    Someone decided it would be a good idea to move all the OTN pages and break a million links.
    Oracle Text is now at the not-so-memorable http://www.oracle.com/technetwork/database/enterprise-edition/index-098492.html

  • Iphone5c sends a follow up text with the word "Kann". Is there a fix for this?

    When I text certain contacts, (I believe they are all Blackberry users) the iphone5c follows up with a second text containing only the word "Kann". For the life of me I can not figure out why this happens or how to stop it. Any help would be greatly appreciated

    I Some time get that but for me it's some water on the scanner or my finger so clean both then try

  • How to change the wording of my site when displayed in search engines

    How do I amend the details displayed when my website is typed into google so that it reads my company name, and other selected text...as opposed to the wording on the first slide/ 123.reg which it is currently displaying. Is there a settings page within iWeb that manages this?
    www.thenutritionalconnection.com
    Any advice would be much appreciated.
    Jessica
    Message was edited by: jessicanutrition

    jessicanutrition wrote:
    Is there a settings page within iWeb that manages this?
    Jessica ~ Welcome to the discussions. Most built-in templates have a large header caption at the top of the page and there's the Page tab in iWeb's Inspector — see the section "1) iWeb Page Titles" in this article:
    _SEO For iWeb: How to get your iWeb Websites into Google & Other Major Search Engines_
    Their free _iWeb SEO Tool_ says this:
    "Your meta description is a short description of your webpage content. Like your title tag, and all other meta tags, it should be unique for each one of your webpages. Provide a short description of what visitors should expect to see on your webpage. Search engines will use your description meta tag in the search results page right underneath the title tag."
    Also see this article by Google:
    _Changing your site's title and description in search results_
    ...Found by doing THIS.
    In other site builders, such as the free Weebly, SEO is integrated:
    http://kb.weebly.com/keywords-descriptions.html
    By the way, rather than posting your URL like this:
    www.thenutritionalconnection.com
    ...include the prefix to make it conveniently clickable:
    http://www.thenutritionalconnection.com

  • Oracle Text - Problem with filtering binary documents (.doc, .pdf, etc...)

    Hi, I have a problem with filtering binary documents (.doc, .pdf, etc...). I use SQL*PLUS for remote access to Oracle 10.2 on Linux and I create table:
    CREATE TABLE test (id NUMBER PRIMARY KEY, text VARCHAR2(100));
    I insert to this table:
    INSERT into test values(1, 'PATH/text1.doc‘);
    INSERT into test values(2,'PATH/text2.doc‘);
    and then:
    CREATE INDEX test_index ON test(text) indextype is ctxsys.context
    parameters (’datastore ctxsys.file_datastore
    filter ctxsys.auto_filter’);
    Message "Index created" is displayed, but objects: DR$test_index$I, DR$test_index$K, DR$test_index$N, DR$test_index$R and DR$test_index$P are empty => index wasn´t created probably.
    I don´t know, where is bug, either bug is somewhere in this code or on the server (wrong installation oracle or constraint privileges). Do you know in what is bug?

    The following is an excerpt from the 10g online documentation. Note the items that I have put in bold.
    "FILE_DATASTORE
    The FILE_DATASTORE type is used for text stored in files accessed through the local file system.
    Note:
    FILE_DATASTORE may not work with certain types of remote mounted file systems.
    FILE_DATASTORE has the following attribute(s):
    Table 2-4 FILE_DATASTORE Attributes
    Attribute Attribute Value
    path path1:path2:pathn
    path
    Specify the full directory path name of the files stored externally in a file system. When you specify the full directory path as such, you need only include file names in your text column.
    You can specify multiple paths for path, with each path separated by a colon (:) on UNIX and semicolon(;) on Windows. File names are stored in the text column in the text table.
    If you do not specify a path for external files with this attribute, Oracle Text requires that the path be included in the file names stored in the text column.
    PATH Attribute Limitations
    The PATH attribute has the following limitations:
    If you specify a PATH attribute, you can only use a simple filename in the indexed column. You cannot combine the PATH attribute with a path as part of the filename. If the files exist in multiple folders or directories, you must leave the PATH attribute unset, and include the full file name, with PATH, in the indexed column.
    On Windows systems, the files must be located on a local drive. They cannot be on a remote drive, whether the remote drive is mapped to a local drive letter."
    With accessible paths and files, you get something like:
    SCOTT@orcl_11g> CREATE TABLE test (id NUMBER PRIMARY KEY, text VARCHAR2(100));
    Table created.
    SCOTT@orcl_11g>
    SCOTT@orcl_11g>
    SCOTT@orcl_11g> INSERT into test values(1,'c:\oracle11g\banana.pdf');
    1 row created.
    SCOTT@orcl_11g> INSERT into test values(2,'c:\oracle11g\cranberry.pdf');
    1 row created.
    SCOTT@orcl_11g>
    SCOTT@orcl_11g> CREATE INDEX test_index ON test(text) indextype is ctxsys.context
      2  parameters ('datastore ctxsys.file_datastore
      3  filter ctxsys.auto_filter');
    Index created.
    SCOTT@orcl_11g>
    SCOTT@orcl_11g> select count(*) from dr$test_index$i
      2  /
      COUNT(*)
           608
    SCOTT@orcl_11g> In the following, I used a non-existent path and non-existent file name, which produces the same results as when you use a remote path that does not exist locally.
    SCOTT@orcl_11g> CREATE TABLE test (id NUMBER PRIMARY KEY, text VARCHAR2(100));
    Table created.
    SCOTT@orcl_11g>
    SCOTT@orcl_11g>
    SCOTT@orcl_11g> INSERT into test values(3,'c:\nosuchpath\nosuchfile.pdf');
    1 row created.
    SCOTT@orcl_11g>
    SCOTT@orcl_11g> CREATE INDEX test_index ON test(text) indextype is ctxsys.context
      2  parameters ('datastore ctxsys.file_datastore
      3  filter ctxsys.auto_filter');
    Index created.
    SCOTT@orcl_11g>
    SCOTT@orcl_11g> select count(*) from dr$test_index$i
      2  /
      COUNT(*)
             0
    SCOTT@orcl_11g>

  • How can I separate the "Icons and Text" of the browser control buttons (Back, Forward, etc.) from the Icons on the Add-on toolbar?

    At home, this is not an issue. I don't know why it's different here at work--same installation, same settings (as far as I can tell).
    Windows Vista
    Firefox 7.0.1
    Status-4-Evar installed to turn add-on bar into a status bar
    I have a NoScript add-on icon in the corner, which works fine. If I add a GreaseMonkey icon from the Customize menu, the "Icon and Text" appears for that icon, like the Icon and Text from the browser controls (Home, stop, etc). Other add-on icons also show Icon and Text (S4E, for instance). NoScript is the only one I've found so far which collapses down to just an Icon.
    This leads to the status (add-on) bar having a much larger height than I like. Essentially what I want is for only the Icon to appear in the Status bar (Add-on toolbar), while keeping Icons and Text in the Browser controls. My current workaround is simply removing the other add-on icons from the status (add-on) toolbar, but that takes away the ease of toggling and setting options.
    Please tell me if I can provide you with anything else, and thanks for your help.
    Edit: I've got some screenshots to show what I mean.
    [http://i41.tinypic.com/ftek9s.jpg desired behavior]
    [http://i43.tinypic.com/1z6a4h3.jpg problem when icon is added]

    Surely there must be some UserChrome.css that will solve this problem. Something like this:
    /* Remove text titles for icons in add-on bar */
    addonbar .button-text {
    visibility: collapse !important;
    Unfortunately that does not work. I probably have the button text item name wrong (there is a pound sign before addonbar but it doesn't show in this posting).

  • Using Oracle Text with MS WORD

    Hi,
    We have just installed Text and we want to use it for indexing hundreds of MS WORD documents that are in the same directory. But I could not find a document / example about indexing/filtering Word Documents. I will be grateful iy you can help me for finding these..
    Thanks..

    You could specify INSO_FILTER for FILTER preference
    in command for creating index
    (see
    http://otn.oracle.com/products/text/x/samples/indexing/filters/inso_filter/inso_filter_idx.sql) or
    use USER filter.
    For example see also
    http://otn.oracle.com/products/text/x/samples/indexing/filters/INSO_Filter/index.html
    (for loading data you could use any other tools than SQL*Loader)
    Regards, Victor.

  • Pixels appear incomplete in certain areas within text. The words are blurry like the pixels haven't fully opened...

    text appears blurred only in certain areas. When you mouse over the text or highlight the text then remove the highlighting the text becomes crystal clear or sharp and will stay that way.

    Hello,
    Try disabling graphics hardware acceleration. Since this feature was added to Firefox, it has gradually improved, but there still are a few glitches.
    You might need to restart Firefox in order for this to take effect, so save all work first (e.g., mail you are composing, online documents you're editing, etc.).
    Then perform these steps:
    *Click the orange Firefox button at the top left, then select the "Options" button, or, if there is no Firefox button at the top, go to Tools > Options.
    *In the Firefox options window click the ''Advanced'' tab, then select "General".
    *In the settings list, you should find the ''Use hardware acceleration when available'' checkbox. Uncheck this checkbox.
    *Now, restart Firefox and see if the problems persist.
    Additionally, please check for updates for your graphics driver by following the steps mentioned in the following Knowledge base articles:
    * [[Troubleshoot extensions, themes and hardware acceleration issues to solve common Firefox problems]]
    * [[Upgrade your graphics drivers to use hardware acceleration and WebGL]]
    Did this fix your problems? Please report back to us!
    Thank you.

  • Why can't I input text (from MS Word, Adobe Acrobat Pro PDFs, etc.) into/onto a certain page?

    I have been having great difficulty inserting or inputting any sort of text or other information onto page 2 of an InDesign document.  (So far, I have 13 pages on seven spreads, and the other pages have been fine.)  Further information:  Page 1 is one type of master ("A-Master" applied), while page 2 (and all pages following) are a different master ("A-Document Master" applied)....  I used a second master for pages 2 and onward, as I wanted to import preferences from another document, to establish a relative degree of uniformity.  I am a relatively new user of CS5.5, but haven't had any major problems thus far with everything else.  My guess is that the text frames for page 2 are somehow embedded above the actual page, and this is affecting import abilities.  However, I can't figure out how to change this.  Any ideas?

    Jongware:  That seemed to work.  There was an extremely small thread I couldn't see before--perhaps simply because I didn't magnify things--that I didn't catch.  (This was left over from the original master creation process, when I imported things from another InD document.)  I took care of the problem.  Thanks to you and everyone for your kind advice and assistance!  Best wishes, JS

  • Is Oracle Text the right solution for this need of a specific search!

    Hi ,
    We are on Oracle 11.2.0.2 on Solaris 10. We have the need to be able to do search on data that are having diacritical marks and we should be able to do the serach ignoring this diacritical marks. That is the requirement. Now I got to hear that Oracle Text has a preference called BASIC_LEXER which can bypass the diacritical marks and so solely due to this feature I implemented Oracle Text and just for this diacritical search and no other need.
    I mean I set up preference like this:
      ctxsys.ctx_ddl.create_preference ('cust_lexer', 'BASIC_LEXER');
      ctxsys.ctx_ddl.set_attribute ('cust_lexer', 'base_letter', 'YES'); -- removes diacritics
    With this I set up like this:
    CREATE TABLE TEXT_TEST
      NAME  VARCHAR2(255 BYTE)
    --created Oracle Text index
    CREATE INDEX TEXT_TEST_IDX1 ON TEXT_TEST
    (NAME)
    INDEXTYPE IS CTXSYS.CONTEXT
    PARAMETERS('LEXER cust_lexer WORDLIST cust_wl SYNC (ON COMMIT)');
    --sample data to illustrate the problem
    Insert into TEXT_TEST
       (NAME)
    Values
       ('muller');
    Insert into TEXT_TEST
       (NAME)
    Values
       ('müller');
    Insert into TEXT_TEST
       (NAME)
    Values
       ('MULLER');
    Insert into TEXT_TEST
       (NAME)
    Values
       ('MÜLLER');
    Insert into TEXT_TEST
       (NAME)
    Values
       ('PAUL HERNANDEZ');
    Insert into TEXT_TEST
       (NAME)
    Values
       ('CHRISTOPHER Phil');
    COMMIT;
    --Now there is an alternative solution that is there,  instead of thee Oracle Text which is just a plain function given below (and it seems to work neat for my simple need of removing diacritical characters effect in search)
    --I need to evaluate which is better given my specific needs -the function below or Oracle Text.
    CREATE OR REPLACE FUNCTION remove_dia(p_value IN VARCHAR2, p_doUpper IN VARCHAR2 := 'Y')
    RETURN VARCHAR2 DETERMINISTIC
    IS
    OUTPUT_STR VARCHAR2(4000);
    begin
    IF (p_doUpper = 'Y') THEN
       OUTPUT_STR := UPPER(p_value);
    ELSE
       OUTPUT_STR := p_value;
    END IF;
    OUTPUT_STR := TRANSLATE(OUTPUT_STR,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ', 'AAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy');
    RETURN (OUTPUT_STR);
    end;
    --now I query for which name stats with  a P%:
    --Below query gets me unexpected result of one row as I am using Oracle Text where each word is parsed for search using CONTAINS...
    SQL> select * from text_test where contains(name,'P%')>0;
    NAME
    PAUL HERNANDEZ
    CHRISTOPHER Phil
    --Below query gets me the right and expected result of one row...
    SQL> select * from text_test where name like 'P%';
    NAME
    PAUL HERNANDEZ
    --Below query gets me the right and expected result of one row...
    SQL>  select * from text_test where remove_dia(name) like remove_dia('P%');
    NAME
    PAUL HERNANDEZMy entire need was only to be able to do a search that bypasses diacritical characters. To implement Oracle Text for that reason, I am wondering if that was the right choice! More so when I am now finding that the functionality of LIKE is not available in Oracle Text - the Oracle text search are based on tokens or words and they are different from output of the LIKE operator. So may be should I have just used a simple function like below and used that for my purpose instead of using Oracle Text:
    This function (remove_dia) just removes the diacritical characters and may be for my need this is all that is needed. Can someone help to review that given my need I am better of not using Oracle Text? I need to continue using the functionality of Like operator and also need to bypass diacritical characters so the simple function that I have meets my need whereas Oracle Text causes a change in behaviour of search queries.
    Thanks,
    OrauserN

    If all you need is LIKE functionality and you do not need any of the complex search capabilities of Oracle Text, then I would not use Oracle Text. I would create a function-based index on your name column that uses your function that removes the diacritical marks, so that your searches will be faster. Please see the demonstration below.
    SCOTT@orcl_11gR2> CREATE TABLE TEXT_TEST
      2    (NAME  VARCHAR2(255 BYTE))
      3  /
    Table created.
    SCOTT@orcl_11gR2> Insert all
      2  into TEXT_TEST (NAME) Values ('muller')
      3  into TEXT_TEST (NAME) Values ('müller')
      4  into TEXT_TEST (NAME) Values ('MULLER')
      5  into TEXT_TEST (NAME) Values ('MÜLLER')
      6  into TEXT_TEST (NAME) Values ('PAUL HERNANDEZ')
      7  into TEXT_TEST (NAME) Values ('CHRISTOPHER Phil')
      8  select * from dual
      9  /
    6 rows created.
    SCOTT@orcl_11gR2> CREATE OR REPLACE FUNCTION remove_dia
      2    (p_value   IN VARCHAR2,
      3       p_doUpper IN VARCHAR2 := 'Y')
      4    RETURN VARCHAR2 DETERMINISTIC
      5  IS
      6    OUTPUT_STR VARCHAR2(4000);
      7  begin
      8    IF (p_doUpper = 'Y') THEN
      9        OUTPUT_STR := UPPER(p_value);
    10    ELSE
    11        OUTPUT_STR := p_value;
    12    END IF;
    13    RETURN
    14        TRANSLATE
    15          (OUTPUT_STR,
    16           'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ',
    17           'AAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy');
    18  end;
    19  /
    Function created.
    SCOTT@orcl_11gR2> show errors
    No errors.
    SCOTT@orcl_11gR2> CREATE INDEX text_test_remove_dia_name
      2  ON text_test (remove_dia (name))
      3  /
    Index created.
    SCOTT@orcl_11gR2> set autotrace on explain
    SCOTT@orcl_11gR2> select * from text_test
      2  where  remove_dia (name) like remove_dia ('mü%')
      3  /
    NAME
    muller
    müller
    MULLER
    MÜLLER
    4 rows selected.
    Execution Plan
    Plan hash value: 3139591283
    | Id  | Operation                   | Name                      | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |                           |     1 |  2131 |     2   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| TEXT_TEST                 |     1 |  2131 |     2   (0)| 00:00:01 |
    |*  2 |   INDEX RANGE SCAN          | TEXT_TEST_REMOVE_DIA_NAME |     1 |       |     1   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("SCOTT"."REMOVE_DIA"("NAME") LIKE "REMOVE_DIA"('mü%'))
           filter("SCOTT"."REMOVE_DIA"("NAME") LIKE "REMOVE_DIA"('mü%'))
    Note
       - dynamic sampling used for this statement (level=2)
    SCOTT@orcl_11gR2> select * from text_test
      2  where  remove_dia (name) like remove_dia ('P%')
      3  /
    NAME
    PAUL HERNANDEZ
    1 row selected.
    Execution Plan
    Plan hash value: 3139591283
    | Id  | Operation                   | Name                      | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |                           |     1 |  2131 |     2   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| TEXT_TEST                 |     1 |  2131 |     2   (0)| 00:00:01 |
    |*  2 |   INDEX RANGE SCAN          | TEXT_TEST_REMOVE_DIA_NAME |     1 |       |     1   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("SCOTT"."REMOVE_DIA"("NAME") LIKE "REMOVE_DIA"('P%'))
           filter("SCOTT"."REMOVE_DIA"("NAME") LIKE "REMOVE_DIA"('P%'))
    Note
       - dynamic sampling used for this statement (level=2)
    SCOTT@orcl_11gR2>

  • Oracle Text : type of the results.

    In v2, in the "custom search" portlet, I chose to display the results of "elements" type.
    But it returns both elements and portlets. Portlets are not compulsory viewable if one clik on in in the result page.
    How can I only return "true" elements (documents) and not portlets ?

    These are two slightly different issues
    In v2, in the "custom search" portlet, I chose to display the results of "elements" type.
    But it returns both elements and portlets. Portlets are not compulsory viewable if one clik on in in the result page.
    How can I only return "true" elements (documents) and not portlets ? I am not too clear on what you are refering to when you say you chose to display the results of 'Elements' types.
    If you wish a search to only return documents (in this sence i mean files) you can add the 'Base Item Type' attribute as search criteria and chose the 'File' value from the LOV. If you do not wish the end users of the search form to know you are restricting the search to just files you can hide this attribute and not display it on the submission form.
    I have the same issue. the release 2 custom search portal has an option
    to limit the result type to page. But, if I have a simple text item with some content containing the words
    "jey is testing" and If I search for "jey" it doesn't return any pages. But, if I change the result type to
    item it returns the item. I want to mimick a std web search where users search on content and get links to
    pages with content.
    pls help,
    jey If you set a portlet to return 'Items' then the search will return the actual items which match the search terms as the search results.
    If you set a portlet to return 'Pages' then the search will return any pages whose title, description etc which match the search terms not those pages whose content contains the search terms.
    However you can customize the attributes displayed with search results to get the list similar to what you require. Set a results portlet to return items (as its the items which will match the search criteria) and select 'Page' and 'Blank Line' attributes as the 'Search Results Attributes'. When you perform a search the results will be a list of pages on which the search result items reside.
    Note: The listed pages may not be distinct. If more that one item resides on the same page which match the search criteria, you will get multiple lines displaying the same page. This is because the search actually returns 2 hits and as you are just displaying the page name it will appear as if they are duplicate results. Therefore you may want to include the attribute 'Display Name' in order to clarify that these are different items on the same page.

  • Should Oracle Text be used here?

    Hi,
    We are developing a search feature for a bank that has thousands of documents. Each document has a set of free-form comments written by multiple bank officials. The comments are in a table in a Oracle 9i database. The comments can be 10 to 10000 characters. The actual documents are not available in the database. Only a document identifier is kept in the table containing the comments.
    The search engine will have single-word as well as phrase searches. Do you think using Oracle Text is the best approach for such a serach facility?
    Thanks
    Yash

    Sameer,
    I guess I was right about it being personal. I do feel like we're getting somewhere though! DETAILS!!!
    This isn't about me, you, or Text. The posts are to help those that need assistance, and for some of us (like me) to gain some exposure to problems I have not run into. You'll see a fair amount of research goes into many people's posts here.
    Your earlier write-up telling the person to stay away provided no specifics about your situation. It was alarmist. They might have totally different requirements than you, so it pays to ask follow-up questions to find out if they are going to hit what you did.
    I don't mind 'talking crap' about something so long as it is specific and can be addressed, or people can find situations where it should/should not be used by comparing their system to yours. If I tell you that cars suck because they break down, it isn't terribly useful to anyone. If I tell you that the 1982 Pontiac Bonneville's transmission needed to be replaced 13 times since I bought it...that kind of detail might be of some use to someone with that car. This is what I was soliciting from you.
    What do we have from your last post:
    * 9.2.0.5
    * Millions of user's per day
    * Peak time the box was only 5-10% idle
    * The problem was with queries on a CONTEXT index
    (rather than the indexing process itself)
    * You couldn't use CTXCAT because of application requirements
    Two things you said that I will agree with.
    1) CONTAINS queries can be costly. There are some ways to improve the performance if you post more detail about your requirements. This is the first time you mentioned that you were using the CONTEXT index instead of CTXCAT...good information. It would indicate that your 'this totally sucks' gut response from earlier is from the perspective of CONTEXT and doesn't extend to the other index types (or am I mistaken?).
    2) 10g has improved upon some things. Later patchsets on Release 1, and the newly available Release 2 have a different filter as well. 9i made some major changes from prior releases though, so if 9i is the only option, I'd still take it.
    If you are interested in continuing, I'd like to find out how many indexes, the number of documents indexed, the size of the index tables and data tables, and some more about the application. Give us your best shot.
    As for hurting the ego...I'll still sleep well tonight. I would just like to see this remain a constructive place for people to post questions and try out solutions. That can't happen if the replies are a blanket 'stay away' without justification or a matching of requirements to problems.
    Finally, feel free to post to anything I participate in...just remember that I'm not shy (and neither are you it seems), so if a debate happens it will likely be lively.
    -Ron

  • About Multi_language features of Oracle Text.

    I have a customer who has to store into one table docs in different languages and
    use contains index to perform some text search.
    He would like to use the multi_language feature of Oracle Text.
    The database we are using is Oracle 10gR2
    We create a table with doc and language column, and then we have to create the context index.
    In documentation I found some info's about how set different lexer (MULTI_LEXER) for language that have different lexer,
    different stoplist (MULTI_STOPLIST) for different languages stop words,
    but I don't understand if it
    is possible use the stemmer features for different languages, and if there are some other features that I can set for using multi_language properties.
    Thank you in advance
    Paola

    According to the online documentation: "The Oracle Text stemmer, licensed from Xerox Corporation's XSoft Division, supports the following languages with the BASIC_LEXER: English, French, Spanish, Italian, German, and Dutch. Japanese stemming is supported with the JAPANESE_LEXER."
    Please see the demonstration below. Also, if you are using 10g, you can specify the language in the query, instead of changing the language for the session. 10g also has a world_lexer.
    scott@ORA92> CREATE TABLE your_table
      2    (id         NUMBER,
      3       doc         CLOB,
      4       lang         VARCHAR2 (3),
      5       CONSTRAINT  your_table_id_pk PRIMARY KEY (id))
      6  /
    Table created.
    scott@ORA92> INSERT ALL
      2  INTO your_table VALUES (1, 'They say only the good die young.', 'eng')
      3  INTO your_table VALUES (2, 'The dogs like the cats.',          'eng')
      4  INTO your_table VALUES (3, 'cats and dogs',               'eng')
      5  INTO your_table VALUES (4, 'cat and dog',                    'eng')
      6  INTO your_table VALUES (5, 'chats et chiens',               'fre')
      7  INTO your_table VALUES (6, 'chat et chien',               'fre')
      8  INTO your_table VALUES (7, 'Die Hunde mögen die Katzen',          'ger')
      9  INTO your_table VALUES (8, 'Katzen und Hunde',               'ger')
    10  INTO your_table VALUES (9, 'Katze und Hund',               'ger')
    11  SELECT * FROM DUAL
    12  /
    9 rows created.
    scott@ORA92> BEGIN
      2    ctx_ddl.create_preference ('english_lexer','basic_lexer');
      3    ctx_ddl.set_attribute      ('english_lexer','index_themes','yes');
      4    ctx_ddl.set_attribute      ('english_lexer','theme_language','english');
      5 
      6    ctx_ddl.create_preference ('french_lexer','basic_lexer');
      7    ctx_ddl.set_attribute      ('french_lexer','index_themes','yes');
      8    ctx_ddl.set_attribute      ('french_lexer','theme_language','french');
      9 
    10    ctx_ddl.create_preference ('german_lexer','basic_lexer');
    11    ctx_ddl.set_attribute      ('german_lexer','composite','german');
    12    ctx_ddl.set_attribute      ('german_lexer','alternate_spelling','german');
    13 
    14    CTX_DDL.CREATE_PREFERENCE ('global_lexer', 'MULTI_LEXER');
    15    ctx_ddl.add_sub_lexer      ('global_lexer','english','english_lexer', 'eng');
    16    ctx_ddl.add_sub_lexer      ('global_lexer','french','french_lexer', 'fre');
    17    ctx_ddl.add_sub_lexer      ('global_lexer','german','german_lexer','ger');
    18    ctx_ddl.add_sub_lexer      ('global_lexer','default','english_lexer');
    19 
    20    CTX_DDL.CREATE_STOPLIST ('global_stoplist', 'MULTI_STOPLIST');
    21    CTX_DDL.ADD_STOPWORD    ('global_stoplist', 'and', 'english');
    22    CTX_DDL.ADD_STOPWORD    ('global_stoplist', 'und', 'german');
    23    CTX_DDL.ADD_STOPWORD    ('global_stoplist', 'et', 'french');
    24    CTX_DDL.ADD_STOPWORD    ('global_stoplist', 'the', 'ALL');
    25    CTX_DDL.ADD_STOPWORD    ('global_stoplist', 'die', 'german');
    26  END;
    27  /
    PL/SQL procedure successfully completed.
    scott@ORA92> CREATE INDEX your_table_doc_idx
      2  ON your_table (doc)
      3  INDEXTYPE IS CTXSYS.CONTEXT
      4  PARAMETERS
      5    ('LEXER           global_lexer
      6        LANGUAGE COLUMN lang
      7        STOPLIST      global_stoplist')
      8  /
    Index created.
    scott@ORA92> ALTER SESSION SET NLS_LANGUAGE = 'AMERICAN'
      2  /
    Session altered.
    scott@ORA92> SELECT * FROM your_table WHERE CONTAINS (doc, 'die') > 0
      2  /
            ID DOC                                                                              LAN
             1 They say only the good die young.                                                eng
    scott@ORA92> SELECT * FROM your_table WHERE CONTAINS (doc, 'cat AND dog') > 0
      2  /
            ID DOC                                                                              LAN
             4 cat and dog                                                                      eng
    scott@ORA92> SELECT * FROM your_table WHERE  CONTAINS (doc, '$cat AND $dog') > 0
      2  /
            ID DOC                                                                              LAN
             4 cat and dog                                                                      eng
             3 cats and dogs                                                                    eng
             2 The dogs like the cats.                                                          eng
    scott@ORA92> ALTER SESSION SET NLS_LANGUAGE = 'FRENCH'
      2  /
    Session altered.
    scott@ORA92> SELECT * FROM your_table WHERE CONTAINS (doc, 'chat AND chien') > 0
      2  /
            ID DOC                                                                              LAN
             6 chat et chien                                                                    fre
    scott@ORA92> SELECT * FROM your_table WHERE  CONTAINS (doc, '$chat AND $chien') > 0
      2  /
            ID DOC                                                                              LAN
             6 chat et chien                                                                    fre
             5 chats et chiens                                                                  fre
    scott@ORA92> ALTER SESSION SET NLS_LANGUAGE = 'GERMAN'
      2  /
    Session altered.
    scott@ORA92> SELECT * FROM your_table WHERE CONTAINS (doc, 'Die') > 0
      2  /
    no rows selected
    scott@ORA92> SELECT * FROM your_table WHERE CONTAINS (doc, 'Katze AND Hund') > 0
      2  /
            ID DOC                                                                              LAN
             9 Katze und Hund                                                                   gerMessage was edited by:
    Barbara Boehmer

  • Oracle text search not working for  WSDL files

    I have a table (resources) with blob data type column (xml_data) and I've created context type index on that column. I've XSD and WSDL files stored in that blob column.
    I can search XSD and XML files with a query with contains operator. But any search on the words from wsdl file returns zero results.I am not able to perform search on wsdl file.
    Please advise me whether oracle text can work for WSDL files also ?
    Query details
    ===========
    create index myIndex on resources (xml_data) indextype is ctxsys.context;
    select * from resources where contains(xml_data, 'searchword') > 0
    Thanks a lot,
    Santhi

    Even though it isn't listed specifically, I can't see why it wouldn't work. The WSDL file should be a simple XML file, so in theory it shouldn't be any different to Oracle Text than the XML file that you loaded and searched successfully. Did you get any errors during indexing, and what do your tokens look like in the DR$MYINDEX$I.TOKEN_TEXT column?
    Do you have a mini test case that didn't work for you? Perhaps we could play with it a bit.
    Long term you might want to consider using section groups so that you can search "within" tags.
    -Ron

Maybe you are looking for

  • Using PowerShell Remoting with Workflows and Functions

    Hello, I have an existing set of scripts with a mixture of Modules containing the functions, Workflows that call the functions and Main script that invokes the workflows. Step 1: The Main script picks up the list of servers from a custom db and invok

  • Documentation of SAP HR- Real time scenario

    Hi, Please can anyone give me some documentation on how the functioning happens in SAP HR real time scenario. The real time implementation for Organizational management, Payroll, time Management and personal administration. It would be great if the d

  • Bridge meldet Speicherprobleme

    Hallo, Bridge meldet bei mir immer wieder "Nicht mehr genügend Speicher. Starten sie Bridge neu" Auf der Platte stehen 30 GB zur Verfügung, Hauptspeicher wird weniger als 2,5 GB von 16 belegt. Bei meiner alten kleinen Kiste kam der Fehler nie. System

  • IPad keyboard question.

    can I force my ipad keyboard to open? I run a program that requires an 'enter' command, in a non 'type-defined' area of the page. Many thanks for your help in advance.

  • FPGA Board CCA 193426B-01​L

    Trying to find a complete User Confirguration File (UCF) or a schematic showing the mapping of the Spartan chip pin outs for the FPGA board devices and I/O. Several years ago, at least 5, the Philadelphia School District purchased the NI FPGA Boards