This is the README file for OurNet::FuzzyIndex, an inverted search
engine for double-byte characters, by Elixir Group and OurInternet 
Inc.

* Installation

libOurNet uses the standard perl module install process:

perl Makefile.PL
make
make install

Note that scripts in bin/ directory could be useful tutorials, too.

* Copyright

Copyright 2001 by Autrijus Tang <autrijus@autrijus.org>,
                  Chia-Liang Kao <clkao@clkao.org>.

All rights reserved.  You can redistribute and/or modify
this bundle under the same terms as Perl itself.

* Introduction

It is often critical for a site to have its own index engine, either for
user to search the vast amount of data, to auto-generated "related links"
for each page, or to associate external information according to their
contents. But traditionally, such packages comes as a fixed "black-box",
forcing you to represent the data in a certain format, and offers no room
for extensions or improvements.

OurNet::FuzzyIndex uses Berkeley DB, a high-performance embedded database
system used by sendmail, Netscape Navigator among others, to store its
index data. This allows lightning-fast search speed while consuming very
little CPU/Memory resources, makes it the ideal solution for mid-to-high
volume service sites. It also supports a distributed databases option,
which optimizes each query to access only a small portion of database,
providing even more scalability.

OurNet::FuzzyIndex supports multilingual contents both in Unicode or
locale encoding, multiple query syntax/options (e.g. Exact, Boolean, Fuzzy
& Natural Language), and a totally extensible API supporting outside
filtering/parsing/translation components.

OurNet::FuzzyIndex poses no limits as to which format the data is in, or
where it should be stored. It accepts any source of contents, whether it's
from a local file, a database entry, or external data fetched by
OurNet::Query engine.

* OurNet::ChatBot

Although a search engine can find links relevant to user's queries, it
does not provide answer to concrete questions for Q&A services, like
Troubleshooting, Online Support, Call Center and Knowledge Bases. These
sites usually needs an Eliza-like "virtual personality" to interact with
user, directing them to relevant parts of the content instead of a hyperlink
to a 100-page-long online manual.

Traditionally, interactive query systems like Ask Jeeves requires a
hierarchical structured database, extensive chat-scripts, and could only
handle a specific domain of keywords.

OurNet::ChatBot require no reformatting of existing contents at all; it can
automatically parse paragraphs and sentences, then convert the weighted data
into a OurNet::FuzzyIndex database. You can also specify additional parameters
like keywords, weights and grammar at any time.

OurNet::ChatBot accepts multilingual natural language questions, and provides
the most suited answers by analyzing the index for each entry's frequency,
relevancy and importance. Additional references and links are also included
in the output.

The Context-Free feature of OurNet::ChatBot also offers other applications
other than Q&A services, such as to instantly turn a huge body of articles
and speeches into a "virtual personality" of their author to chat with users!

