[sword-devel] dictionary ordering revisited

Daniel Owens dhowens at pmbx.net
Thu Mar 19 19:08:28 MST 2009

Troy A. Griffitts wrote:
> There are a couple issue here that most of us know about but I'll 
> enumerate a few:
> The lexdict driver in the engine is designed as a quick key lookup 
> datastore.  There is some processing done to try to do best matches.
> all numbered keys are padded, so
> 123 gets changed to 00123
> This helps match strongs numbers.
> Other keys get touppered to help match case insensitive.  We can maybe 
> do other things like strip accents and diacritics, but we should 
> probably add something to the .conf file to allow different key 
> massaging.  Just letting the module create massage the keys beforehand 
> isn't a great solution because the same massaging needs to happen on 
> the user input when they try to lookup a key.
> Massaging keys is all beneficial for looking up the best match, in 
> most cases, and presenting surrounding entries sometimes helps the 
> user choose, provided they didn't like the resolution.  Let's not 
> think of the surrounding keys as the 'order of the lexicon'.

Again, this is helpful background. It strikes me as a content creator 
that the way indexes are handled is a "quick" solution to the problem of 
performance. I can understand why it's done that way, but the effect is 
awfully weird.

> Presenting a lexicon as an ordered book is a different function.  We 
> should not attempt to use the lexdict driver to support this.

Again, as a content creator, I can't imagine a case in which (for other 
than technical reasons) a dictionary should be reordered. Usually people 
who put dictionaries together have a reason for their order. If the 
lexdict driver shouldn't support this, perhaps it should be used 
exclusively for glossaries and not for lexicons. See next comments below.

> If there is ever a time when you would want to present a lexicon as an 
> ordered book to an end user, then we should consider possibly having a 
> genbook index on the same module for that purpose.

A glossary is a much simpler animal than a lexicon or dictionary and is 
often, in the print world, a smaller piece of a larger work. Some 
reordering isn't the end of the world (though I still think it's a bit 
wacky or twilight zone-ish). However, a lexicon is a work in its own 
right and should not be reordered (under any circumstances). It should 
have pages with a preface, introduction, a table of abbreviations, 
bibliographic information, etc.

> I may be going out on a limb here, but most of the time, I don't think 
> a user would want to see a dictionary presented as a book.  I have 
> come across one exception, and that is our Hesychius module, but it is 
> really meant to be an ancient work studied as such.  I think we could 
> create a lexdict module from the Hesychius data and it would be cool 
> to do lookups and present the data from it, like we do with other 
> SWORD lexdicts, but the primary purpose for the module is to make the 
> ancient work available for scholars in its original form-- the 
> original ancient work just happens to be a synonym lexicon.

I strenuously disagree (in all possible Christian love). I hate to bring 
up other software, but when I need to do serious exegetical work I boot 
into Windows and use a proprietary program (which motivates me to 
develop SWORD to support my research needs!). That program allows me to 
quickly look up word in my default lexicon by double-clicking on a word, 
but when I want to browse the lexicon by letter I can do so in a side 
pane with an expandable tree structure. It allows me to choose what sort 
of key I want to use, so when I want to know the page number of an entry 
(for referencing purposes), I can view that too. Generating page numbers 
is a major undertaking for the module developer, and I wouldn't propose 
to bring that in to the discussion here as a possible feature. My point 
is that working with modern lexicons as an aspiring scholar (just got 
word that I got into my PhD program of choice--yeah!), I want to view 
lexicons in a form that is reasonably close to the print form, and I 
want the functionality of any other type of module. I even want to be 
able to search the text of lexicon entries (for example, for Scripture 
references), not just look up an entry.

I realized in raising this issue again that much is forgotten over time 
(chiefly by me!). I created a page on the wiki (finally figured out how 
to do that in MediaWiki) at 
http://www.crosswire.org/wiki/Complete_Lexicon_Functionality to put some 
ideas out there and help me remember at least what the issues are. I 
think if lexdict is going to remain the same, there needs to be an 
alternate means to working with anything other than a basic glossary or 
standard Strong's module (which lexdict handles quite well). I'm not 
sure if added features for genbooks is the way to go or not (I can see 
real merit to that), but lexdict is not the module driver for most types 
of dictionaries. I invite anyone to join this discussion.


More information about the sword-devel mailing list