Introduction:
XSet is an XML search engine, utilizing probabilistic data structures
called treaps. Given the ubiquitous applicatbility of XML and
its gradual emergence as an internet standard, applications will need in
the near future, a way to query and quickly search for XML documents.
XSet is designed to provide high performance XML searching functionality
at a low level with minimal overhead.
A much more in-depth discussion of the overall XSet motivation, design and functionality can be found here.
Distribution Files:
In order to utilize the functionality of the XSet application, you
need the following source files:
All of these files are included in the Ninja 1.0 release under the directory ninja/xset. Another key part of the XSet source code is the Microsoft XML Parser in Java (MSXML) class files. Those files are also included in the Ninja 1.0 release under the com.ms.xml.* class tree. These class files for MSXML can be freely downloaded from Microsoft, inside Microsoft's Java JDK.
Compiling XSet:
Compiling XSet should be easy to do, just type make in the ninja/xset
directory. Make sure that your CLASSPATH includes the directory that
contains the com/ms/xml package as well as the ninja/xset source tree.
XSet has been tested with JDK 1.1.6 and 1.1.7.
Running the Demo:
A demo is included in the source tree which demonstrates a trivial
application of the XSet search engine. The demo provides an applet
that allows the user to easily create queries for searching printer files
and shows the functionality of the XSet ispace service.
The demo makes a lot more sense if you read the demo documentation here beforehand.
Writing applications to use XSet:
I've included XSetService.java, the XSet server interface wrapped up
in an ispace service. To use the XSet functionality, you can
either use the XSetService interface, and communicate commands to the server
via NinjaRMI, or utilize the SETserver object directly. Read the
source to XSetService.java to see an example of how to use the SETserver
API. Javadoc information is also available.
I would be interested in finding out about any applications you may develop using XSet. Please email ninja-devel@ninja.cs.berkeley.edu me with any problems or suggestions, and to let me know of applications you've written that use XSet.
For general ninja related questions and mail, please send mail to ninja-devel@ninja.cs.berkeley.edu.
Ben Zhao
March 3rd, 1999