Search KJV

Updated: 05-July-2010

I modified the xml to no longer have the "pure" element. This made the xml a lot smaller and the element was unused anyway. I also updated the "search" element to have all of the words, even the ones added by the translators.

Why Command-Line?

Why make a command-line Bible search tool when there are all those great Windows-based, graphical Bible tools already freely available for download? Actually, I use E-Sword and I love the fact that it has Strong's Concordance. I wouldn't trade E-Sword for this tool, but there are times when I'm trying to consolidate a lot of different searches in an attempt to see the larger picture of a subject. This tool allows me some speed in organizing my notes, and my search syntax (see search examples ) makes finding the right verse a little easier than any of the graphical tools I've found. Is there a graphical tool in the works? Not at the moment, but anything is possible.

To really make the most out of SearchKJV, "command-line redirection" is worth conquering. On the command line, you can redirect output to a file using "redirection," like this:

C:\SearchKJV\SearchKJV /nt Saul > C:\Temp\Saul-NT-Verses.txt
C:\SearchKJV\SearchKJV /nt Paul > C:\Temp\Paul-NT-Verses.txt

The above commands will create two files for you (C:\Temp\Saul-NT-Verses.txt and C:\Temp\Paul-NT-Verses.txt), which will contain the respective SearchKJV output (i.e., the appropriate list of verses for your search). If you want to append an existing file, you can use the '>>' syntax, like the second command shown here:

C:\SearchKJV\SearchKJV /nt Saul > C:\Temp\Saul-Paul-NT-Verses.txt
C:\SearchKJV\SearchKJV /nt Paul >> C:\Temp\Saul-Paul-NT-Verses.txt

The above two commands will result in a single file, Saul-Paul-NT-Verses.txt, combining your two searches into the same file.

Searching for the KJV in an Xml format?

If you want the King James Bible as Xml, download the link above, install the software, and you'll have it. The file, bible.xml, is really the reason the download is 2.5 Mb. Here's the Xml for Genesis 1:2:

<Verse number="2" verseNumber="2">
   <KJV.Original>And the earth was without form, and void; and darkness [was] upon the face of the deep. And the Spirit of God moved upon the face of the waters.</KJV.Original>
   <KJV.Search>And the earth was without form and void and darkness was upon the face of the deep And the Spirit of God moved upon the face of the waters</KJV.Search>
</Verse>

As you can see, this verse (i.e., any verse) is stored in triplicate. Admittedly, this may not be the most efficient storage system, but since the size of the data is virtually fixed and the market for a command-line Bible tool must be nearly non-existent, I decided not to worry about scalability.

The KJV.Original tag has the full King James text. The KJV.Search tag contains KJV.Original without any punctuation.

Search Syntax

searchkjv

/?: Show this help.

/books: Show a complete list of books, in order as they appear.

/i: ignore case of search terms. Terms are case-sensitive by default.

/b:book: Apply search to a particular book (must be spelled correctly). Use /books for list

/c:category: Apply search to a particular category (must be spelled correctly). Use /categories for list.

/ot: Apply search to the Old Testament.

/nt: Apply search to the New Testament.

[+|-]term: a term is a word or phrase for which to search. A term is case sensitive unless the '/i' flag is used.

If a term is preceded by a '+', this term is required.

If a term is preceded by a '-', this term is negated (no verse with this term will be returned.)

If the term contains multiple words, surround the phrase with quotes (").

If neither '+' nor '-' precedes the term, the term is optional.

Use '*' for partial word matches.

Use searchkjv /examples to see search examples.

Example searches:

searchkjv John Jesus Jonah

Will return all verses that contain either 'John', 'Jesus' or 'Jonah' -- this is a whole word search. Terms are case senstive (the default).


searchkjv church*

Will return any verse that contains a word that starts with 'church' (e.g., church, churches).


searchkjv /i church*

Will return any verse that contains a word that without case-sensitivity starts with 'church' (e.g., church, Church, churches, Churches).


searchkjv +John +Jesus

Will return any verse that contains both the word 'John' and the word 'Jesus.'


searchkjv /i +John +Jesus -baptis*

Will return any verse that contains the word 'John' and the word 'Jesus', but that does not contain any word that start with 'baptis' (e.g. baptism, baptist). All terms are case insensitive.

Return to Projects