Opened 13 years ago

Closed 10 years ago

#487 closed feature (fixed)

JDBM for gs3

Reported by: kjdon Owned by: kjdon
Priority: moderate Milestone: 3.05 Release
Component: Collection Building Severity: enhancement
Keywords: Cc:

Description

Add in Steve's code for using JDBM instead of GDBM.

Files can be found at kanuka:/research/kjdon/home/steve-jdbm

Here are instructions given by Steve:

  • jdbm-unspecified.jar needs to end up in web/WEB-INF/lib for runtime
  • JDBMWrapper.java is the filled out version of the skeleton Kathy created in src/java/org/greenstone/gsdl3/util

txt2jdbm takes the path to a collection directory as an argument (absolute or relative) eg

txt2jdbm ./web/sites/localsite/collect/hcibib/

It will look for index/text/db.txt under the given directory and produce index/text/<colname>.db (eg index/text/hcibib.db )

jdbm2txt takes a collection directory path as above

It will look for index/text/<colname>.db and produce index/text/db.txt

I have no elegant error trapping/recovery.

So the workflow for a Java only runtime for a collection would be

  1. set buildtype to Lucene in collect.cfg
  2. import.pl
  3. buildcol.pl
  4. remove current index dir
  5. mv building to index
  6. convert_coll_from_gs2.pl
  7. db2txt
  8. txt2jdbm
  9. add <databaseType name="jdbm"/> to every serviceRack element in the buildConfig.xml file for the collection

Add these instructions onto wiki once the code is added into Greenstone.

Change History (2)

comment:1 by kjdon, 11 years ago

Milestone: Greenstone 3 wishlist3.05 Release

Coding has been done. Just need some instructions in the wiki.

comment:2 by sjm84, 10 years ago

Resolution: fixed
Status: newclosed

Greenstone3 now supports JDBM. The implemented work goes beyond the workflow provided above. Now all that is needed is for the infodbtype to be declared in collectionConfig.xml. From there, everything else falls in to place automatically.

Note: See TracTickets for help on using tickets.