Forum .LRN Q&A: .LRN: Update on search

Posted by Dirk Gomez on
Dave Bauer and I are currently working with DeeDee Kane from MIT on a search package for .LRN, here's what we have achieved so far:

The target platform is .LRN 2.1 + OpenACS 5.1 + Oracle, however our goals for the architecture were easy portability across databases and OpenACS/.LRN versions. For that we backported callbacks from HEAD to 5.1 and put the backported procs into a compat-5.3-5.1 package. A package delivers search data to the search package through a callback procedure named datasource. The search package needs to be notified about new or changed content by inserting a row into the search_observer_queue - this is done via a trigger on the content-holding tables of a package. This approach makes porting between databases and OpenACS versions relatively easy, because we are not tied in too deeply into a datamodel version.

The second new table in the search package is the site_wide_index table which holds the package_id, the object_name, and a clob field named indexed_content. This is the table users will search against.

The datasource callbacks procs for most packages are done (including binary files) and we are inviting people to review our code or add more datasourcces.

The sourcecode will be committed to CVS pending some cleanup work, I'll announce once we have done it.

Work in the next weeks will focus on the user interface.

2: Re: .LRN: Update on search (response to 1)
Posted by Andrew Piskorski on
Dirk, what's the current status of this Search work? Is it available in CVS yet?
3: related threads (response to 1)
Posted by Andrew Piskorski on
Largely to remind myself, here are a few related older discussion threads: Jan. 2005, Sep. 2004, March 2004, and Feb. 2004.