ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

How To Use OmniFind To Get Best Match

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • How To Use OmniFind To Get Best Match

    Is anyone using OmniFind (IBM's Full Text Search product) and if so do you know how I might be able to find the best matches for a search (similar to a search engine).

    OmniFind adds the CONTAINS and SCORE functions to SQL (amongst a whole lot of other things) but documentation and examples are hard to come by, certainly nothing that is helpful with what we are trying to do.

    Scenario: A user types "claw hammers test" into the search box on our web site, and we want to return the best matching results. There are no records in the index that match all 3 words, but plenty that match "claw hammers" and plenty that match any 1 of these words.

    The SQL statement I am using is:

    Code:
    SELECT siitem, integer(SCORE(sitext,'hammers claw test')*100) as relevance, sitext
    FROM stkdetix
    WHERE CONTAINS(sitext,'hammers claw test')>0
    order by relevance desc
    which I had hoped would return the best matches for these 3 words, however because no index entry matches all 3 of them, nothing is returned.

    The index is build from our product descriptions, stripping out stop words (a, the, this etc) and including each keyword only once.

    I had hoped that OmniFind would be able to handle this situation, but so far no joy. Any help would be much appreciated.
    Poddys Rambles On
Working...
X