|
OMNIDEX |
Omnidex Text |
||||||||||||||||
Indexing Text Fields for Keyword Searches
|
Keyword SearchesKeyword searches are queries that find data based on an individual keyword parsed from a text field. Generally, keywords are delineated by a space or punctuation mark, though special rules exist for special situations. Keyword searching is available through standard SQL and also through the $CONTAINS function. When processing a SELECT statement, Omnidex examines the type of index installed on each column. If criteria are applied to a column installed with a keyword, the criteria will be interpreted as a set of keywords, rather than a phrase. For example, given the criteria "content like 'cell phone' ", the SQL optimizer would interpret this as "content like 'cell' AND content like 'phone' ". Each of these words could occur anywhere in the column, and in any order, as long as they were separated by spaces, punctuation or other words. Using this criteria, records 1 & 2 will qualify but 3 will not because there is cellphone is a single word. However, you could use a wildcard to qualify record 3, "content like 'cell*' ", which would also qualify records containing the word cellular. 1 "The scientist used the phone to report his amazing discoveries concerning a single living cell." 2 "The telephone company is going to install a cell phone tower on the corner." 3 "What I want for my birthday: new car, cellphone, new clothes" To prevent the criteria from being interpreted in this way, you could use a Proximity search, which provides a couple of methods for this type of search.
Indexing Text Fields for Keyword SearchesTo install keyword indexing on a text field, use the ;KW option. Columns installed with the ;KW option will be parsed into individual keywords. Spaces and punctuation are stripped (not stored in the indexes, the data is unchanged). To prevent stop words (the, of, a, and, ...) from being indexed, use an excluded words list. The ;KW option can be applied to a single column or a group of columns using the ;Gn (grouping) option. For example, if two address fields and the city field are grouped together, as follows: ADDRESS1;G1;KW a search like " address1 = 'boulder' " would qualify all rows that contained the word 'boulder' in any of the three grouped columns.
Case Insensitive SearchesCase Insensitive searches allow users to find records using keywords without having to worry how it is stored in the database. By default, keyword searches are case insensitive. This means criteria like "company = 'systems' " will find all records with the word 'systems' in it: systems, SYSTEMS, Systems, SyStEmS, ... To use keyword searches while keeping the search case sensitive, use the ;KW (keywording) and ;CS (case sensitive) options together. COLUMN;KW;CS For example: SELECT COMPANY FROM CUSTOMERS WHERE COMPANY = 'SYSTEMS' will qualify all of the following customer records: 1 Dynamic Information Systems Corporation 2 COMPUTER SYSTEMS SOFTWARE 3 consumer systems Case insensitive search capabilities can be enabled by installing either the ;CI (case insensitive) option or the ;KW (keywording) option. The ;CI option can be installed no parse text fields, like a state code field, to enable case insensitivity. The ;KW option automatically causes case insensitive searches. To enable both keyword searches and case sensitivity, install the ;KW option and the ;CS (case sensitive) option together.
Example> SELECT COMPANY FROM COMPANIES WHERE COMPANY = 'AMERICAN' COMPANY COMPANY COMPANY COMPANY
|
||||||||||||||||
|
Environment Catalog | Database Integration | Omnidex Text | Other Features |
Environment |
Database |
Table |
Column |
Rule |
Index |
Message |
SQL Server |
Oracle |
DB2 |
Flat Files |
External Documents |
Configuration |
Keyword Searches |
Synonym Searches |
Proximity Searches |
Form Searches |
Misspelling Searches |
Spell Check Searches |
Phonetic Searches |
Exporting Data |
Pseudo-columns |
Partitioning |