<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">
 <channel>
  <title>Free Text Search</title>
  <link>http://docs.openlinksw.com/virtuoso/freetext.html</link>
  <description>OpenLink Virtuoso Universal Server: Documentation</description>
  <managingEditor>virtuoso.docs@openlinksw.com</managingEditor>
  <pubDate>Wed, 09 Apr 2008 14:35:56 GMT</pubDate>
  <generator>OpenLink Software Documentation Team</generator>
  <webMaster>webmaster@openlinksw.com</webMaster>
  <image>
    <title>OpenLink Virtuoso Universal Server: Documentation</title>
    <url>http://docs.openlinksw.com/virtuoso/../images/misc/logo.jpg</url>
    <link>http://docs.openlinksw.com/virtuoso/freetext.html</link>
    <description>OpenLink Virtuoso Universal Server: Documentation</description>
  </image>
  <item>
    <guid>http://docs.openlinksw.com/virtuoso/txtidxquickstart.html</guid>
    <author>virtuoso.docs@openlinksw.com</author>
    <category>Basic Concepts</category>
    <link>http://docs.openlinksw.com/virtuoso/txtidxquickstart.html</link>
    <pubDate>Wed, 09 Apr 2008 14:35:56 GMT</pubDate>
    <title>Basic Concepts</title>
    <description>
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

</description>
  </item>
  <item>
    <guid>http://docs.openlinksw.com/virtuoso/creatingtxtidxs.html</guid>
    <author>virtuoso.docs@openlinksw.com</author>
    <category>Creating Free Text Indexes</category>
    <link>http://docs.openlinksw.com/virtuoso/creatingtxtidxs.html</link>
    <pubDate>Wed, 09 Apr 2008 14:35:56 GMT</pubDate>
    <title>Creating Free Text Indexes</title>
    <description />
  </item>
  <item>
    <guid>http://docs.openlinksw.com/virtuoso/queryingftcols.html</guid>
    <author>virtuoso.docs@openlinksw.com</author>
    <category>Querying Free Text Indexes</category>
    <link>http://docs.openlinksw.com/virtuoso/queryingftcols.html</link>
    <pubDate>Wed, 09 Apr 2008 14:35:56 GMT</pubDate>
    <title>Querying Free Text Indexes</title>
    <description />
  </item>
  <item>
    <guid>http://docs.openlinksw.com/virtuoso/txttrig.html</guid>
    <author>virtuoso.docs@openlinksw.com</author>
    <category>Text Triggers</category>
    <link>http://docs.openlinksw.com/virtuoso/txttrig.html</link>
    <pubDate>Wed, 09 Apr 2008 14:35:56 GMT</pubDate>
    <title>Text Triggers</title>
    <description>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.

</description>
  </item>
  <item>
    <guid>http://docs.openlinksw.com/virtuoso/tablesandinternals.html</guid>
    <author>virtuoso.docs@openlinksw.com</author>
    <category>Generated Tables and Internals</category>
    <link>http://docs.openlinksw.com/virtuoso/tablesandinternals.html</link>
    <pubDate>Wed, 09 Apr 2008 14:35:56 GMT</pubDate>
    <title>Generated Tables and Internals</title>
    <description />
  </item>
  <item>
    <guid>http://docs.openlinksw.com/virtuoso/droptxtindex.html</guid>
    <author>virtuoso.docs@openlinksw.com</author>
    <category>Removing A Text Index</category>
    <link>http://docs.openlinksw.com/virtuoso/droptxtindex.html</link>
    <pubDate>Wed, 09 Apr 2008 14:35:56 GMT</pubDate>
    <title>Removing A Text Index</title>
    <description>
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.


</description>
  </item>
  <item>
    <guid>http://docs.openlinksw.com/virtuoso/droptxttrig.html</guid>
    <author>virtuoso.docs@openlinksw.com</author>
    <category>Removing A Text Trigger</category>
    <link>http://docs.openlinksw.com/virtuoso/droptxttrig.html</link>
    <pubDate>Wed, 09 Apr 2008 14:35:56 GMT</pubDate>
    <title>Removing A Text Trigger</title>
    <description>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:

</description>
  </item>
  <item>
    <guid>http://docs.openlinksw.com/virtuoso/ftinternationalization.html</guid>
    <author>virtuoso.docs@openlinksw.com</author>
    <category>Internationalization &amp; Unicode</category>
    <link>http://docs.openlinksw.com/virtuoso/ftinternationalization.html</link>
    <pubDate>Wed, 09 Apr 2008 14:35:56 GMT</pubDate>
    <title>Internationalization &amp; Unicode</title>
    <description>
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.
	

</description>
  </item>
  <item>
    <guid>http://docs.openlinksw.com/virtuoso/ftperformance.html</guid>
    <author>virtuoso.docs@openlinksw.com</author>
    <category>Performance</category>
    <link>http://docs.openlinksw.com/virtuoso/ftperformance.html</link>
    <pubDate>Wed, 09 Apr 2008 14:35:56 GMT</pubDate>
    <title>Performance</title>
    <description>
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
	

</description>
  </item>
  <item>
    <guid>http://docs.openlinksw.com/virtuoso/fttfuncs.html</guid>
    <author>virtuoso.docs@openlinksw.com</author>
    <category>Free Text Functions</category>
    <link>http://docs.openlinksw.com/virtuoso/fttfuncs.html</link>
    <pubDate>Wed, 09 Apr 2008 14:35:56 GMT</pubDate>
    <title>Free Text Functions</title>
    <description>
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)


</description>
  </item>
 </channel>
</rss>
