This is a list of open-source search systems available on the web:
-
Beagle is GNOME's full-text
search system. It is based on the .NET framework and uses
DotLucene (a .NET port of Lucene)
as as the underlying indexing system. It receives file system change
notifications through
inotify.
-
Lucene is an indexing system,
implemented in Java. Lucene and its ports to other languages are used
by many search systems, such as Nutch and Beagle.
-
Nutch is an open-source web
crawler and web search engine based on Lucene.
-
Zettair is an information
retrieval system developed by the search engine group at RMIT University.
The following webpages provide information about Linux file system change notification.
File system notification is crucial to efficient real-time file system indexing,
as it is the only way to immediately react to file changes.
-
dnotify is the file change notification system of the Linux
kernel. One of its main shortcomings is that an application needs to have
one open file descriptor for every directory it is watching. Of course, this
makes it impossible to watch the entire file system. It will probably be
replaced by inotify
in the not-too-distant future.
-
The new dnotify
notification service is similar to the existing dnotify kernel facilities,
but allows recursive watches and additional events not supported by the
original dnotify.
-
fschange is
a patch for the 2.6 Linux kernel that offers an event notification service
for a broad range of file system events. By reading data from a proc file, an
application can monitor the entire file system, being notified of mounts, umounts,
file changes, file deletions, and many more events. The fschange homepage
also gives some discussion of the pros and cons of the different approaches to
Linux file system notification.
-
The inotify repository on the kernel.org website.
Inotify aims to become the successor of the Linux kernel's current notification
system, dnotify. Edoceo provides a brief description of inotify and an
example Perl program
that shows how to use inotify.