[jsword-devel] Advanced Search Enginem for Jsword

DM Smith dmsmith555 at yahoo.com
Wed Jun 18 16:58:06 MST 2008


I think this would make a great addition. Our code works via plugin/ 
adapters/interfaces so incorporating code of any license is not an  
issue.

I don't have time to work on it, at least for a while. But I can give  
advice. The thought that I had was that one could activate multiple  
search engines. Then "Enable Search" would index the module for all  
the available search engines. Then when one did a search, the results  
would be "ORed" together.

This would not be too hard to do.

When I get Jira back on line, would you mind adding this as a feature  
request.

In Him.
	DM

On Jun 18, 2008, at 10:20 AM, Mullins, Steven wrote:

> I have found a GPL'ed search engine, Emdros, that will do the  
> advanced text searches that I need.  For example, if I want to find  
> all verses in the Greek NT with occurances of "Noun EIS Noun" I use  
> the following query.  It takes about 1.5 seconds to run:
>
> SELECT ALL OBJECTS
> WHERE
> [verse
> [Word psp = N ]
> ..<1
> [Word lem_ascii = 'eis']
> ..<1
> [Word psp = N ]
> ]
>
> Now if I want to restrict the two nouns to be the same word I can use:
>
> SELECT ALL OBJECTS
> WHERE
> [verse
> [Word AS faith psp = N ]
> ..<1
> [Word lem_ascii = 'eis']
> ..<1
> [Word lem_ascii  = faith.lem_ascii and psp = N ]
> ]
>
> This is a very, very powerful lingustic search tool.  In fact, it is  
> the same engine for the syntax search in Logos Libronix.  The German  
> Bible Society uses it as well in their Stuttgart Electronic Study  
> Bible.  It's the best syntax search engine I know of, free or  
> otherwise, for Biblical original languages.  It is written in C++,  
> but has swig wrappers for Python, Ruby, C#, Perl, PHP and yes,  
> JAVA.  It is called Emdros and is avaliable and well documented at www.emdros.org 
> .
>
> Emdros is basically a middleware solution.  It sets between the  
> query interface and a database.  The visual structure looks like this:
>
> Query Tool <---> Emdros <---> Database
>
> Right now, Emdros supports several databases.  SQLite is the one I  
> use since it is a single file and is already integrated into emdros.
>
> I think this would be a terriffic supplement/extension to the lucene  
> search capabilities in jsword and/or sword.  Perhaps a second search  
> option called "emdros search" that would open a window to enter a  
> query and save/open queries as text files would be in order.  The  
> return from emdros could be the references that match the query,  
> which would then be fed to jsword for display and futher study.
>
> I wrote a python script to create an emdros database from the raw  
> MorphGNT text.  You can see the source at http://gntools.svn.sourceforge.net/viewvc/gntools/morphgnt2emdros/morphgnt2emdros.py?revision=1&view=markup 
> .
>
> With the resulting database you can search using UTF8 greek (with or  
> without accents) and plain ascii greek (b-greek encoded) lemmas and  
> original words.  You can search by word type, tense, mood, aspect,  
> number, etc.  I have a python GUI to do searches and save queries  
> with also.  I'd like to see all this in j/sword though.
>
> Emdros is under the GPL but it is not java.  That may exclude it  
> from distribution with jsword, as lucene is.  However, if a user has  
> emdros installed, could we put a config option in jsword like "path  
> to emdros library" and use the SWIG connection or even simpler, use  
> a "path to emdros exe" and read the output from a system pipe.  The  
> later is what my python program uses.  I have written the parsing  
> code and regex's to read the output (in python).
>
> I hope I have whetted some appetites.  Any takers?
>
> Steve
>
> _______________________________________________
> jsword-devel mailing list
> jsword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/jsword-devel





More information about the jsword-devel mailing list