<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--ATOM based XML document generated By OpenLink Virtuoso-->
<atom:feed xmlns:atom="http://www.w3.org/2005/Atom">
<atom:id>http://docs.openlinksw.com/virtuoso/freetext.html</atom:id>
<atom:title>Free Text Search</atom:title>
<atom:link href="http://docs.openlinksw.com/virtuoso/freetext.html" type="text/html" rel="alternate" />
<atom:link href="http://docs.openlinksw.com/virtuoso/freetext.html" type="application/atom+xml" rel="self" />
<atom:subtitle>OpenLink Virtuoso Universal Server: Documentation</atom:subtitle>
 <atom:author>
  <atom:name>virtuoso.docs@openlinksw.com</atom:name>
  <atom:email>virtuoso.docs@openlinksw.com</atom:email>
  </atom:author>
<atom:updated>2008-09-09T11:44:52Z</atom:updated>
<atom:generator>OpenLink Software Documentation Team</atom:generator>
<atom:logo>http://docs.openlinksw.com/virtuoso/../images/misc/logo.jpg</atom:logo>
 <atom:entry>
  <atom:id>http://docs.openlinksw.com/virtuoso/txtidxquickstart.html</atom:id>
  <atom:author>
    <atom:name>virtuoso.docs@openlinksw.com</atom:name>
    <atom:email>virtuoso.docs@openlinksw.com</atom:email>
   </atom:author>Basic Concepts<atom:link href="http://docs.openlinksw.com/virtuoso/txtidxquickstart.html" type="text/html" rel="alternate" />
  <atom:published>2008-09-09T11:44:52Z</atom:published>
  <atom:title>Basic Concepts</atom:title>
  <atom:content type="html">A text index is created with the CREATE TEXT INDEX statement. This creates a number of stored procedures and triggers which will transparently manage the text index. A text index is dropped by dropping the generated words table, called &lt;table&gt;_&lt;column&gt;_WORDS, where &lt;table&gt; and &lt;column&gt; are the table and column over which the index is made. The contains predicate is a normal SQL predicate and can be used together with other predicates in the where clause. Contains may however not figure inside an OR or NOT. Hence: is OK but</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:id>http://docs.openlinksw.com/virtuoso/creatingtxtidxs.html</atom:id>
  <atom:author>
    <atom:name>virtuoso.docs@openlinksw.com</atom:name>
    <atom:email>virtuoso.docs@openlinksw.com</atom:email>
   </atom:author>Creating Free Text Indexes<atom:link href="http://docs.openlinksw.com/virtuoso/creatingtxtidxs.html" type="text/html" rel="alternate" />
  <atom:published>2008-09-09T11:44:52Z</atom:published>
  <atom:title>Creating Free Text Indexes</atom:title>
  <atom:content type="html" />
 </atom:entry>
 <atom:entry>
  <atom:id>http://docs.openlinksw.com/virtuoso/queryingftcols.html</atom:id>
  <atom:author>
    <atom:name>virtuoso.docs@openlinksw.com</atom:name>
    <atom:email>virtuoso.docs@openlinksw.com</atom:email>
   </atom:author>Querying Free Text Indexes<atom:link href="http://docs.openlinksw.com/virtuoso/queryingftcols.html" type="text/html" rel="alternate" />
  <atom:published>2008-09-09T11:44:52Z</atom:published>
  <atom:title>Querying Free Text Indexes</atom:title>
  <atom:content type="html" />
 </atom:entry>
 <atom:entry>
  <atom:id>http://docs.openlinksw.com/virtuoso/txttrig.html</atom:id>
  <atom:author>
    <atom:name>virtuoso.docs@openlinksw.com</atom:name>
    <atom:email>virtuoso.docs@openlinksw.com</atom:email>
   </atom:author>Text Triggers<atom:link href="http://docs.openlinksw.com/virtuoso/txttrig.html" type="text/html" rel="alternate" />
  <atom:published>2008-09-09T11:44:52Z</atom:published>
  <atom:title>Text Triggers</atom:title>
  <atom:content type="html">The text trigger mechanism allows implementing a broad range of content tracking functionality. The idea is storing free text or XPATH queries in association to a text indexed column of a table. When the content of the table changes through inserts or updates, the new data is matched against a base of stored queries and hits are marked into a separate table. The data being tracked may either be plain text or XML. In the event of XML, both free text and XPATH queries can be stored. The benefit of the text trigger system as opposed to other forms of periodic content tracking is that the incoming data itself indexes a base of stored queries instead of a base of stored queries repeatedly indexing the database. This means that only the changes are compared to the stored queries and that queries that could not even in principle match will not be tried. This results in a qualitatively better performance and scalability than repeatedly running a batch of queries over updated data and thus makes possible personalized information filtering applications that would be impractical with other approaches.</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:id>http://docs.openlinksw.com/virtuoso/tablesandinternals.html</atom:id>
  <atom:author>
    <atom:name>virtuoso.docs@openlinksw.com</atom:name>
    <atom:email>virtuoso.docs@openlinksw.com</atom:email>
   </atom:author>Generated Tables and Internals<atom:link href="http://docs.openlinksw.com/virtuoso/tablesandinternals.html" type="text/html" rel="alternate" />
  <atom:published>2008-09-09T11:44:52Z</atom:published>
  <atom:title>Generated Tables and Internals</atom:title>
  <atom:content type="html" />
 </atom:entry>
 <atom:entry>
  <atom:id>http://docs.openlinksw.com/virtuoso/droptxtindex.html</atom:id>
  <atom:author>
    <atom:name>virtuoso.docs@openlinksw.com</atom:name>
    <atom:email>virtuoso.docs@openlinksw.com</atom:email>
   </atom:author>Removing A Text Index<atom:link href="http://docs.openlinksw.com/virtuoso/droptxtindex.html" type="text/html" rel="alternate" />
  <atom:published>2008-09-09T11:44:52Z</atom:published>
  <atom:title>Removing A Text Index</atom:title>
  <atom:content type="html">A text index is dropped by dropping the words table with DROP TABLE. This will drop all triggers, procedures and auxiliary tables. The words table is in the qualifier and owner of the indexed table and is named &lt;table&gt;_&lt;column&gt;_WORDS.</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:id>http://docs.openlinksw.com/virtuoso/droptxttrig.html</atom:id>
  <atom:author>
    <atom:name>virtuoso.docs@openlinksw.com</atom:name>
    <atom:email>virtuoso.docs@openlinksw.com</atom:email>
   </atom:author>Removing A Text Trigger<atom:link href="http://docs.openlinksw.com/virtuoso/droptxttrig.html" type="text/html" rel="alternate" />
  <atom:published>2008-09-09T11:44:52Z</atom:published>
  <atom:title>Removing A Text Trigger</atom:title>
  <atom:content type="html">Used to drop text trigger definition on text indexed table. The operation also drop all tables created by create text trigger statement. Syntax: Or using the stored procedure:</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:id>http://docs.openlinksw.com/virtuoso/ftinternationalization.html</atom:id>
  <atom:author>
    <atom:name>virtuoso.docs@openlinksw.com</atom:name>
    <atom:email>virtuoso.docs@openlinksw.com</atom:email>
   </atom:author>Internationalization &amp; Unicode<atom:link href="http://docs.openlinksw.com/virtuoso/ftinternationalization.html" type="text/html" rel="alternate" />
  <atom:published>2008-09-09T11:44:52Z</atom:published>
  <atom:title>Internationalization &amp; Unicode</atom:title>
  <atom:content type="html">The text being indexed and the text query expression may both be wide strings. The word boundaries used to cut the text in words in both queries and index maintenance may depend on a language declared for the text index. The default language has white space and punctuation as word delimiters and will recognize Unicode ideographic characters as self standing. A single non-ideographic character will always be considered noise and not indexed. Non-ASCII Unicode values are converted to UTF8 before being stored into the word table as narrow strings. Narrow 8 bit strings are stored in the words table as is.</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:id>http://docs.openlinksw.com/virtuoso/ftperformance.html</atom:id>
  <atom:author>
    <atom:name>virtuoso.docs@openlinksw.com</atom:name>
    <atom:email>virtuoso.docs@openlinksw.com</atom:email>
   </atom:author>Performance<atom:link href="http://docs.openlinksw.com/virtuoso/ftperformance.html" type="text/html" rel="alternate" />
  <atom:published>2008-09-09T11:44:52Z</atom:published>
  <atom:title>Performance</atom:title>
  <atom:content type="html">For indexing large volumes it is critical to run the indexing process over large volumes of data. This is accomplished by using the batch update mode. This is activated with the VT_BATCH_UPDATE procedure. When this mode is on the index will be updated after a settable interval, doing all the updates accumulated since the last batch in a single go. The size of a single batch is configurable in the virtuoso.ini file using the FreeTextBatchSize option. This is the number of bytes of text which will be processed as one sweep over the index. A value of 1MB is often suitable. Even All changes are processed in a batch at the set interval. If there are more characters of text to index / unindex than the batch size, the operation is broken into several transactions, each processing about FreeTextBatchSize bytes worth of text. This improves concurrency and cuts down on locking. The command</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:id>http://docs.openlinksw.com/virtuoso/fttfuncs.html</atom:id>
  <atom:author>
    <atom:name>virtuoso.docs@openlinksw.com</atom:name>
    <atom:email>virtuoso.docs@openlinksw.com</atom:email>
   </atom:author>Free Text Functions<atom:link href="http://docs.openlinksw.com/virtuoso/fttfuncs.html" type="text/html" rel="alternate" />
  <atom:published>2008-09-09T11:44:52Z</atom:published>
  <atom:title>Free Text Functions</atom:title>
  <atom:content type="html">Text index log table. In case of batch update mode this table is used to store a log of actions over text indexed table. Text index batch procedure. This procedure log, process and stores already filled _vt_batch, caused storing of words in index table. Text trigger hook function. This function, for existing text trigger definition, applies the filtering queries (if defined) to the _strings, and if the _vt_batch matches any of them then add new record in HITS table (see Text trigger)</atom:content>
 </atom:entry>
</atom:feed>