[jsword-devel] Changes to JSword

DM Smith dmsmith555 at yahoo.com
Sun May 6 09:28:25 MST 2007


I have just made two changes to JSword:

First, I have replaced URL with URI wherever possible. Unfortunately  
this is an API change. The problem is that URL depends on the state  
of the Internet to compare two URLs. That is, URL.equals(Object)  
would do name resolution. This had an unfortunate side-effect of  
blocking or inappropriately returning false when the internet was flaky.

Second, I have changed the index to include the ability to search  
keys, Strong's numbers and cross-references. To use these features,  
you will need to re-index your modules. The current index will work  
without these features.

In Lucene, you can search for tagged terms by prefixing a term with  
its field as in:
	Finds the verse. Note, there is only one value stored in this field  
and the argument is an OSIS ID.

	Finds all verses with the Hebrew Strong's number of 3068, or YHWH.  
Use G for Greek. The Strong's number is never prefixed by 0. Modules  
are inconsistent in how they represent Strong's numbers, but this is  

	Finds all verses with a cross reference to Matthew 1:1. Note, the  
argument is an OSIS ID. No ranges. No normalization from a free-form  
reference to an OSIS ID.

Some thoughts:
Because of the inflexibility of these, I am reluctant to make the  
features generally known.

key: is really dumb, but it came for free.

I see a couple of uses for strong:
First, one can find similar verses to a current verse. This would be  
done by creating a search request consisting of all the Strong's  
numbers in the verse and then doing a prioritized search for the top  
20 verses retrieved. If the search also included the text each as  
fuzzy, it could find verses in the alternate testament.

One could also tie a lookup in a Strong's dictionary to verses using  
that number. Note, one could use this technique to find verses  
against one Bible having Strong's numbers, but display the verses  
from the current Bible.

For xref:
Find related. Again, one can use this technique to find verses  
against one Bible having cross references, but display the verses  
from the current Bible.

I'd love to hear feedback and your ideas!

In His Service,
	DM Smith

More information about the jsword-devel mailing list