Need to search with correct spelling typo snacks

Hello

If I am searching with a wrong spelling, it must ask (or) check with the correct spelling. Say, if the user performs a search for the keyword "serch", to look for the word "search".

This will make it possible to link the search words with the Thesaurus built instead of setting the spelling of all the words.

An example of the foregoing will be more useful.

Thanks in advance.

Oracle doesn't have a built-in spellchecker or similar spellings recovery method directly from the thesaurus. If you want a spell checker, then you must either get a dictionary that you can compare to or find a way to use a spellchecker online. If you get a dictionary, then you'll do something like creating a context on the dictionary and using fuzzy index to find possible spellings of correct based on a bad. If you use a spell checker online, he will do something similar. If using a spell checker in line and you wait until it is always available to your application, you should ensure that you have purchased a subscription to this service. In both cases, the final results are substantially the same as if you just do a fuzzy search in a first time and save a lot of trouble and further treatment, which can take some time. I have provided a few examples below for comparison. I first demonstrated using a dictionary. I walked just two rows, but you want to download a whole dictionary of somewhere, probably in text format, then use SQL * Loader to load it into a table. Then I have shown by using an online service, but not one who subscribes to that you can count on a method. Finally, I made a simple query using and blurred that renders the same as other methods, without all the extra code and treatment. So, I hope you can see that everything you need is probably a fuzzy search. In the examples I've provided, I used functions to concatenate all the suggested correct spellings with the | symbol, meaning the Oracle text and surrounded by each group in parentheses. You can use additional criteria to narrow the possibilities.

SCOTT@orcl_11gR2> -- test environment:
SCOTT@orcl_11gR2> create table test_tab
  2    (test_col  varchar2 (60))
  3  /

Table created.

SCOTT@orcl_11gR2> insert all
  2  into test_tab (test_col) values ('search for the rabbit')
  3  into test_tab (test_col) values ('some other data')
  4  select * from dual
  5  /

2 rows created.

SCOTT@orcl_11gR2> create index test_idx
  2  on test_tab (test_col)
  3  indextype is ctxsys.context
  4  /

Index created.

SCOTT@orcl_11gR2> -- method using dictionary you obtain:
SCOTT@orcl_11gR2> create table test_dict
  2    (test_word  varchar2(30))
  3  /

Table created.

SCOTT@orcl_11gR2> insert all
  2  into test_dict values ('rabbit')
  3  into test_dict values ('search')
  4  select * from dual
  5  /

2 rows created.

SCOTT@orcl_11gR2> create index test_dict_idx
  2  on test_dict (test_word)
  3  indextype is ctxsys.context
  4  /

Index created.

SCOTT@orcl_11gR2> create or replace function dict_check
  2    (p_word in varchar2)
  3    return       varchar2
  4  as
  5    v_words       varchar2 (2000);
  6  begin
  7    for r in
  8        (select test_word
  9         from      test_dict
 10         where  contains (test_word, '?' || p_word) > 0
 11         union
 12         select p_word
 13         from      dual)
 14    loop
 15        v_words := v_words || '|' || r.test_word;
 16    end loop;
 17    return '(' || ltrim (v_words, '|') || ')';
 18  end;
 19  /

Function created.

SCOTT@orcl_11gR2> select dict_check ('serch') from dual
  2  /

DICT_CHECK('SERCH')
--------------------------------------------------------------------------------
(search|serch)

1 row selected.

SCOTT@orcl_11gR2> select dict_check ('rabit') from dual
  2  /

DICT_CHECK('RABIT')
--------------------------------------------------------------------------------
(rabbit|rabit)

1 row selected.

SCOTT@orcl_11gR2> select * from test_tab
  2  where  contains
  3             (test_col,
  4              dict_check ('serch')
  5              || ' and ' ||
  6              dict_check ('rabbit')) > 0
  7  /

TEST_COL
------------------------------------------------------------
search for the rabbit

1 row selected.

SCOTT@orcl_11gR2> -- method using online spell checker:
SCOTT@orcl_11gR2> create or replace function spell_check
  2    (p_word in varchar2)
  3    return       varchar2
  4  as
  5    l_res     clob;
  6    l_cnt     varchar2(10);
  7    l_sc     varchar2(10);
  8    l_words     varchar2(2000);
  9  begin
 10    l_res := httpuritype
 11              ('http://ws.cdyne.com/SpellChecker/check.asmx/CheckTextBodyV2?'
 12               || utl_url.escape('BodyText=' || p_word)).getclob();
 13    l_cnt := XmlType(l_res).extract
 14              ('/DocumentSummary/MisspelledWordCount/text()',
 15               'xmlns="http://ws.cdyne.com/').getStringVal();
 16    if l_cnt > 0 then
 17        l_sc := XmlType(l_res).extract
 18               ('/DocumentSummary/MisspelledWord['||1||']/SuggestionCount/text()',
 19                'xmlns="http://ws.cdyne.com/').getStringVal();
 20        for i in 1 .. l_sc loop
 21          l_words := l_words || '|' ||
 22                  XmlType(l_res).extract
 23                 ('/DocumentSummary/MisspelledWord['||1||']/Suggestions['||i||']/text()',
 24                  'xmlns="http://ws.cdyne.com/').getStringVal();
 25        end loop;
 26    else
 27        l_words := p_word;
 28    end if;
 29    return '(' || ltrim (l_words, '|') || ')';
 30  end spell_check;
 31  /

Function created.

SCOTT@orcl_11gR2> select spell_check ('serch') from dual
  2  /

SPELL_CHECK('SERCH')
--------------------------------------------------------------------------------
(search|such|perch|sch|sash|searches|Zach|searched|searcher|research|Sorcha|sush
i|searchers|searching|searcher's|sashay|Sacha|sushis|sashed|sashes|sash&apo
s;s|researcher|sashing|sushi's|sashays)

1 row selected.

SCOTT@orcl_11gR2> select spell_check ('rabit') from dual
  2  /

SPELL_CHECK('RABIT')
--------------------------------------------------------------------------------
(rabbit|habit|robot|rabid|rabbet|rabis|rebid|rubout|Rabat|rabbits|reboot|rowboat
|rabbiter|robots|rubato|Robt|rabbited|rebate|rabbit's|rabidly|rabbets|ribbe
d|rubbed|rubatos|robbed)

1 row selected.

SCOTT@orcl_11gR2> select * from test_tab
  2  where  contains
  3             (test_col,
  4              spell_check ('serch')
  5              || ' and ' ||
  6              spell_check ('rabbit')) > 0
  7  /

TEST_COL
------------------------------------------------------------
search for the rabbit

1 row selected.

SCOTT@orcl_11gR2> -- fuzzy search:
SCOTT@orcl_11gR2> select * from test_tab
  2  where  contains
  3             (test_col,
  4              '?serch and ?rabbit') > 0
  5  /

TEST_COL
------------------------------------------------------------
search for the rabbit

1 row selected.

SCOTT@orcl_11gR2>

Tags: Database

Similar Questions

  • Sometimes I write emails to write in French and have need to auto correct spelling in French.age.

    Often, I write emails in French and I'm terrible with the spelling words. Is there a correct automatic function that I can use to get the correct spelling of my emails in French?

    This article may be of some use to you:

    http://KB.mozillazine.org/dictionaries

  • BlackBerry Smartphones verizon curve correction spelling questions

    I have a blackberry curve for verizon, and I recently started having problems with the spell checker when sending emails. When I type an email on my phone and go on send out check start automatically (what I want to happen). The problem is that it checks a word very simple in the message even if the spelling is correct. How can I fix my spell checker so that it can recognize words correctly spelled and misspelled words?

    Hmmm... OK then, here are a few KB, I found maybe one will help you:

    http://www.BlackBerry.com/BTSC/microsites/search.do?cmd=displayKC&docType=kc&externalId=KB13654&SLIC...

    http://www.BlackBerry.com/BTSC/microsites/search.do?cmd=displayKC&docType=kc&externalId=KB14240&SLIC...

    Hope that helps!

  • How to remove "search with google" on the link address bar?

    In the last update "firefox aurora", I now have a little awkward accommodation that opens with all the usual sites, I'll and he says: Google search.

    Or more accurately, it is said that after that I start to type any word in the address bar. It is quite annoying. I use firefox/aurora because I hate google chrome to do the same shit.
    If I want to search with google, I'll go to google.com as I always do. I don't have an option obvious sell-out google it just to annoy the hell out of me when I need it 98% of the time.

    Now, is there anywhere in the subject: config or any other way to remove this annoying nuisance?

    Or if not, a way to downgrade to the previous version which is not only addition. (I don't really like on 'security risk' Please do not give me that excuse)

    I'd rather not have to go and use internet explorer if I do not, but if I'm stuck with this annoying thing, I prefer to use the very crappy browser something that will annoy me always.

    Nevermind, it fixed.

    Or update that just happened to be doing the work.

  • Need to find the correct reference for replacement screen Aspire 5742

    Hello

    I need to find the correct part for replacement screen Aspire 5742.  The backlight does not work anymore, and I already bought a UPS to see that this model/version does not use a UPS (as the backlight is LED and integrated in the element of the screen).  I find the somewhat confusing model numbers table.  The full model version seems to be:

    5742 - 464G50Mnnk

    S/N: [redacted to comply with guidelines]

    SNID [redacted to comply with guidelines]

    This seems to be a very good laptop that belongs to a mine Guigou, but not worth repair at the local dealership, and I'm sure I can replace the screen myself if I can get the right part, having already dismantled the set of sieves and to be an electronic engineer.

    Either way, I guess that this version of model is the 5742, not the 5742 G (even if the model number has a 'G' in it: some of the confusion).  Any help would be appreciated.

    Part numbers for the 15.6 TFT LCD for the Aspire 5742 are:

    LK.15605.004
    LK.15605.010
    LK.15606.009
    LK.15608.007
    LK.15608.011
    LK.1560A.004
    LK.1560D.010
    LK.1560E.004
    LK.15605.019
    LK.15606.012

  • combine the simple search with custom search option panel (date)

    Hello

    I have a simple search with AutoCustomizationCriteria Panel. The search includes the number of columns in a table. A column is of type DATE and I need to have a search interval criteria (date time) a way to 'Date From' and 'Date' to provide a date range for the search.

    Is it possible to include this type 'date' of the criteria on a panel of simple search to perform this search? Alternatively, the only way is to have a query that is run on the original Version that will build the result set based on the values fields "Date of" and ' Date to '?

    The client is reluctant to use the Advanced Search Panel.

    Thank you

    Anatoliy

    Anatoliy salvation,

    I've done this type of requirement and its a well worked.

    Please check below the code, I hope it helps.

    Create two search boxes in the control panel simple search on the page for the same date field.

    For example in the table invoice_date is only a single column, but you create two research SearchInvoiceDateFrom and SearchInvoiceDateTo

    write below the code in the controller to manage any logical date

    package rec.oracle.apps.ap.invoice.webui;

    import com.sun.java.util.collections.Vector;

    import java.io.PrintStream;

    java.sql.Date import;

    Import oracle.apps.fnd.common.VersionInfo;

    Import oracle.apps.fnd.framework.OAApplicationModule;

    Import oracle.apps.fnd.framework.OANLSServices;

    Import oracle.apps.fnd.framework.OAViewObject;

    Import oracle.apps.fnd.framework.server.OADBTransaction;

    Import oracle.apps.fnd.framework.webui.OAControllerImpl;

    Import oracle.apps.fnd.framework.webui.OAPageContext;

    Import oracle.apps.fnd.framework.webui.beans.OAWebBean;

    Import oracle.apps.fnd.framework.webui.beans.layout.OAQueryBean;

    SerializableAttribute public class InvoiceLineSearchCO extends OAControllerImpl

    {

    public static final String RCS_ID = "$Header$";

    public static final boolean RCS_ID_RECORDED = VersionInfo.recordClassVersion ("$Header$", "% packagename");

    ' Public Sub processRequest (pageContext OAPageContext, OAWebBean webBean)

    {

    super.processRequest (pageContext, webBean);

    OAApplicationModule am = pageContext.getRootApplicationModule ();

    }

    ' Public Sub processFormRequest (pageContext OAPageContext, OAWebBean webBean)

    {

    super.processFormRequest (pageContext, webBean);

    OAApplicationModule am = pageContext.getRootApplicationModule ();

    OAViewObject vo = (OAViewObject) am.findViewObject ("InvoiceSearchVO1");  Catch the VO Page

    vo.setWhereClause (null);

    vo.setWhereClauseParams (null);

    vo.clearCache ();

    VO. Reset();

    Day convDate1 = null;

    Day convDate2 = null;

    TXN OADBTransaction = am.getOADBTransaction ();

    OAQueryBean oaquerybean = (OAQueryBean) webBean.findIndexedChildRecursive ("QueryRN");

    String InvoiceDateFrom = pageContext.getParameter ("SearchInvoiceDateFrom");

    String InvoiceDateTo = pageContext.getParameter ("SearchInvoiceDateTo");

    String currentPanel = oaquerybean.getCurrentSearchPanel ();

    If (InvoiceDateFrom! = null) {}

    JavaSqlDate1 date = txn.getOANLSServices () .stringToDate (InvoiceDateFrom);

    convDate1 = javaSqlDate1;

    }

    If (InvoiceDateTo! = null) {}

    JavaSqlDate2 date = txn.getOANLSServices () .stringToDate (InvoiceDateTo);

    convDate2 = javaSqlDate2;

    }

    If ((!)) ("Search".) Equals (currentPanel))) | (convDate1 == null). (convDate2 is nothing)) {

    return;

    }

    System.out.println ("key GB Hi is Catched");

    System.out.println (convDate1);

    System.out.println (convDate2);

    Vector of parameters = new Vector (1);

    StringBuffer whereClause = new StringBuffer (100);

    whereClause.append ("INVOICE_DATE BETWEEN: 1 AND: 2" "");

    parameters.addElement (convDate1);

    parameters.addElement (convDate2);

    vo.setWhereClause (null);

    vo.setWhereClauseParams (null);

    vo.setWhereClause (whereClause.toString ());

    Object params [] = new Object [2];

    parameters.copyInto (params);

    vo.setWhereClauseParams (params);

    vo.executeQuery ();

    vo.clearCache ();

    VO. Reset();

    }

    }

    Thank you

    Dilip

  • I bought the wrong version of Adobe Acrobat (for windows) and I have a Mac.  I need to exchange the correct software

    I bought the wrong version of Adobe Acrobat (for windows) and I have a Mac.  I need to exchange the correct software

    Hi K.Winger,

    In order to get this change, you need to take assistance from our support team cat.

    Please Contact Customer Care

    * Being to ensure that you are logged on the page with your adobe ID

  • Search with drop-down list box

    Hello, I am looking to build a Web site for real estate agent and I need to know how I could do a search box with drop-down list according to the image below?

    is there a widget for it?

    Please, if you know a tutorial for that or something Visual on how to let me know

    Screenshot_4.png

    Here are the options available through widgets in Muse:

    http://musewidgets.com/products/data-table

    http://musewidgets.com/products/addsearch-button

    http://musewidgets.com/products/addsearch-Widget

    For a more exact search with custom field values, you can create web app items in case you are using Business Catalyst for hosting your site.

    Thank you

    Sanjit

  • New to Lightroom. The search for keyword spelling work around...

    I just installed Lightroom and two keywording problems after importing the largest of my photos (almost 14 000 files) files.


    I was keywording in Bridge and found it much easier to type in the words. Used iView in the past, so don't worry much about spelling. iView show me different spellings used for a Word and I could choose the pictures, correct spelling and spelling errors has been corrected in the metadata of photos.


    1. in Lightroom, I select the pictures/photos with misspelled words, correct that the word and Lightroom will not accept the change, because there is already a keyword of the same name. If I delete the misspelled keywords (I guess I can?) then I have no idea how to find these photos and add the correct keyword.


    Just by writing this, I thought to put the words misspelled in a collection and then when the misspelled word is deleted, I still have pictures. I could drag the exact keyword for them. What is the best way to go? (I have not tried the collection function again).


    2 another problem frustrating: I do not use hierarchical keywording and Lightroom pulled my keywords in the hierarchical Keywords system. Now I have 'Place', 'People', etc that clutter my field. Is there a way to tell Lightroom I want to use the hierarchical system? Is there (please please please) a pretty quick way to get rid of all words as place and people I am not there? If there is a preference I'd before importing, I prefer to make a new catalog and re import rather than trying to find all the high fields to the page to remove.

    Peg

    Element of reference 1.

    In the library - the grid view Module

    Go to the keyword list Panel

    Select a misspelled word, and then click the arrow to the right of the keyword.

    Select all

    Click the checkbox to the left of the CORRECTLY spelled keyword to apply the correct spelling.

    Clear the check box to the left of the keyword spelled

    Delete the misspelled word.

    Files should only have the correctly spelt version

    Reference element 2

    Lightroom does not use a hierarchical strategy, unless you say so. If your images are as (from bridge, for example) with a hierarchy, it will be replicated. A keyword that is automatically set to receive the child keywords will have a little asterisk following the keyword. If you have one of these you can get rid of it by right click and uncheck "put new keywords inside this keyword.

    Before you delete keywords at a higher level, you want to make sure that you moved all the keywords lower level out of them. If you delete keywords at a higher level, he will kill the keywords of the child inside.  Keywords can be slid in or out of a hierarchy by dragging.

  • Why can't edit my contacts to search with the new ios 10.0.1

    Why can't edit my contacts to search with the new ios 10.0.1

    It seems they have changed the way search works after the update. You can always edit contacts by opening the Contacts app, then open the contact you want to change. We do not know why they made the change, but unfortunately it is out of our reach. I don't know that they had a reason for this. If this is not the case, they will probably patch in an another mini update.

  • I've recently updated my firefox to my laptop. No longer can I do a search with Google without getting a message that the address of the site/is not secure. How to cancel?

    I've recently updated my firefox to my laptop. No longer can I do a search with Google without getting a message that the address of the site/is not secure. How to cancel? The only search that allows me to see whatever it is is Yahoo that I prefer not to use. In addition, I have to click through a series of tabs to make sure that I know that Yahoo does not feel that the site is secure before it connects. I must tell you that I have strongly dislikes this upgrade and want to return to the old Firefox.

    What is you receive the exact error message? Did you check your date and time? Refreshed Firefox? Refresh Firefox – reset the parameters and modules

  • How to disable "Search with" in the url bar in Firefox Developer?

    How to disable "Search with" in the url bar in Firefox Developer?
    Thank you

    Hi hamid, in order to change this enter on: config in the address bar of firefox (confirmed the message information where it appears) and search for the preference named browser.urlbar.unifiedcomplete. Double-click it and change its value to false.

  • The search with BING when I type my research topic in the address bar. How can I change?

    The search with BING when I type my research topic in the address bar. I wish it were google again.
    How can I change?

    Hi sarou,.

    Take a look at this article on the keyword service. It will show you how to get back to Google.

    Hope this helps!

  • Many web sites does not not with correct format minus 8.0

    Many web sites does not not with correct format minus 8.0 but work fine with IE. At first glance, my internet connection has problems because the text was load but the format and images had problems, but not the internet connection. Example is www.msnbc.com or www.blueovalnews.com

    Clear the cache and cookies from sites that cause problems.

    "Clear the Cache":

    • Tools > Options > advanced > network > storage (Cache) offline: 'clear now '.

    'Delete Cookies' sites causing problems:

    • Tools > Options > privacy > Cookies: "show the Cookies".

    Start Firefox in Firefox to solve the issues in Safe Mode to check if one of the extensions or if hardware acceleration is the cause of the problem (switch to the DEFAULT theme: Firefox (Tools) > Add-ons > appearance/themes).

  • need a cd with older operating system for an iMac of 1995

    I have an older iMac, there is not an operating system installed on it, although it works.  I need a CD with his own version of OS. Do you know where I can get a.

    The first iMac was introduced in 1998 and comes with OS 8.1.  It is known as the "Bondi Blue" iMac, which is a dark shade of blue-green.  He had a 233 MHz G3 processor and an optical drive tray-loading.  This model was followed by the iMac of fruits of color with a 266 MHz G3 processor.  A faster group of fruit color iMacs were followed, which also had the same optical drive of the plate, but a 333 MHz G3 processor.  Check out this page which lists all iMac models and post back with the model with the plug that matches the one you have.  Knowing that will determine how modern an OS you can install on it.  Check ebay for an OS installation disc, but still looking for the version (Universal Installer) retail disc and not a restore with a software disc incompatible build designed for another Mac model.

Maybe you are looking for