On 04/05/2018 08:01 AM, David Haslam wrote: > Thanks Troy for all this fine detail. > > Is there any way that these special search parameters can be passed to > diatheke (as is) ? >
[scribe@localhost diatheke]$ ./diatheke -b KJV -s attribute -k Heading///Neginoth Entries containing "Heading///Neginoth"-- Psalms 4:1Psalms 6:1 ; Psalms 54:1 ; Psalms 55:1 ; Psalms 67:1 ; Psalms 76:1 ; -- 6 matches total (KJV) > Or would diatheke need further enhancing to support search within > headings such as Psalm titles? > > Best regards, David > > > Sent from ProtonMail Mobile > > > On Wed, Apr 4, 2018 at 23:18, Troy A. Griffitts <scr...@crosswire.org > <mailto:scr...@crosswire.org>> wrote: >> >> Here's a quick command. The entry attributes path / search syntax >> might not be obvious. Entry attributes key paths are always 3 >> levels deep + the final segment the value of the attribute. Empty >> path segments mean 'any'. This means find 'Neginoth' in the value of >> any entry attribute under 'Heading'. >> >> [scribe@localhost cmdline]$ ./search KJV Heading///Neginoth >> [0=================================50===============================100] >> ====================================================================== >> Psalms 4:1 >> Psalms 6:1 >> Psalms 54:1 >> Psalms 55:1 >> Psalms 67:1 >> Psalms 76:1 >> >> Likewise, in any entry attribute: >> >> [scribe@localhost cmdline]$ ./search KJV ///Neginoth >> [0=================================50===============================100] >> ====================================================================== >> Psalms 4:1 >> Psalms 6:1 >> Psalms 54:1 >> Psalms 55:1 >> Psalms 67:1 >> Psalms 76:1 >> Habakkuk 3:19 >> >> Or very specifically the first preverse heading of a verse: >> >> [scribe@localhost cmdline]$ ./search KJV Heading/Preverse/0/Neginoth >> [0=================================50===============================100] >> ====================================================================== >> Psalms 4:1 >> Psalms 6:1 >> Psalms 54:1 >> Psalms 55:1 >> Psalms 67:1 >> Psalms 76:1 >> >> Here's the entry attribute dump, output from the 'lookup' example, >> for Ps.4.1 from the KJV: >> >> [scribe@localhost cmdline]$ ./lookup KJV Ps.4.1 >> ==Raw=Entry=============== >> Psalms 4:1: >> <div type="x-milestone" subType="x-preverse" sID="pv2"/><title >> canonical="true" type="psalm"><w lemma="strong:H05329" >> morph="strongMorph:TH8764">To the chief Musician</w> <w >> lemma="strong:H05058">on Neginoth</w>, <w lemma="strong:H04210">A >> Psalm</w> <w lemma="strong:H01732">of David</w>.</title><div >> type="x-milestone" subType="x-preverse" eID="pv2"/><w >> lemma="strong:H06030" morph="strongMorph:TH8798">Hear</w> <w >> lemma="strong:H07121" morph="strongMorph:TH8800">me when I call</w>, >> <w lemma="strong:H0430">O God</w> <w lemma="strong:H06664">of my >> righteousness</w>: <w lemma="strong:H07337" >> morph="strongMorph:TH8689">thou hast enlarged</w> me <transChange >> type="added">when I was</transChange> <w lemma="strong:H06862">in >> distress</w>; <w lemma="strong:H02603" >> morph="strongMorph:TH8798">have mercy</w> <w lemma="strong:H08085" >> morph="strongMorph:TH8798">upon me, and hear</w> <w >> lemma="strong:H08605">my prayer</w>.<note >> type="study"><catchWord>chief…</catchWord>: or, <rdg >> type="alternative">overseer</rdg></note><note >> type="study"><catchWord>have…</catchWord>: or, <rdg >> type="alternative">be gracious unto me</rdg></note> >> ==Render=Entry============ >> .divineName { font-variant: small-caps; } >> .wordsOfJesus { color: red; } >> .transChange { font-style: italic; } >> .transChange.transChange-supplied { font-style: italic; } >> .transChange.transChange-added { font-style: italic; } >> .transChange.transChange-tenseChange::before { content: '*'; } >> .transChange.transChange-tenseChange { font-style: normal; } >> .transChange:lang(zh) { font-style: normal; text-decoration: >> dotted underline; } >> .overline { text-decoration: overline; } >> .indent1 { margin-left: 1em; } >> .indent2 { margin-left: 2em; } >> .indent3 { margin-left: 3em; } >> .indent4 { margin-left: 4em; } >> abbr { &:hover{ &:before{ content: attr(title); } } } >> .small-caps { font-variant: small-caps; } >> .selah { text-align: right; width: 50%; margin: 0; padding: 0; } >> .acrostic { text-align: center; } >> .colophon {font-style: italic; font-size: small; display: >> block; } >> .rdg { font-style: italic; } >> .catchWord {font-style: bold; } >> .x-p-indent {text-indent: 1em; } >> >> Hear me when I call, O God of my righteousness: thou hast enlarged me >> <span class="transChange transChange-added">when I was</span> in >> distress; have mercy upon me, and hear my prayer. >> ========================== >> Entry Attributes: >> >> [ Footnote ] >> [ 1 ] >> body = <catchWord>chief…</catchWord>: or, <rdg >> type="alternative">overseer</rdg> >> type = study >> [ 2 ] >> body = <catchWord>have…</catchWord>: or, <rdg >> type="alternative">be gracious unto me</rdg> >> type = study >> [ Heading ] >> [ 0 ] >> sID = pv2 >> subType = x-preverse >> type = x-milestone >> [ Preverse ] >> 0 = <title canonical="true" type="psalm"><w >> savlm="strong:H05329">To the chief Musician</w> <w >> savlm="strong:H05058">on Neginoth</w>, <w savlm="strong:H04210">A >> Psalm</w> <w savlm="strong:H01732">of David</w>.</title> >> module->renderText(heading[0]) = <h3 class="title psalm >> canonical">To the chief Musician on Neginoth, A Psalm of David.</h3> >> >> >> [ Word ] >> [ 001 ] >> Lemma = H05329 >> LemmaClass = strong >> Morph = TH8764 >> MorphClass = strongMorph >> PartCount = 1 >> Text = To the chief Musician >> [ 002 ] >> Lemma = H05058 >> LemmaClass = strong >> PartCount = 1 >> Text = on Neginoth >> [ 003 ] >> Lemma = H04210 >> LemmaClass = strong >> PartCount = 1 >> Text = A Psalm >> [ 004 ] >> Lemma = H01732 >> LemmaClass = strong >> PartCount = 1 >> Text = of David >> [ 005 ] >> Lemma = H06030 >> LemmaClass = strong >> Morph = TH8798 >> MorphClass = strongMorph >> PartCount = 1 >> Text = Hear >> [ 006 ] >> Lemma = H07121 >> LemmaClass = strong >> Morph = TH8800 >> MorphClass = strongMorph >> PartCount = 1 >> Text = me when I call >> [ 007 ] >> Lemma = H0430 >> LemmaClass = strong >> PartCount = 1 >> Text = O God >> [ 008 ] >> Lemma = H06664 >> LemmaClass = strong >> PartCount = 1 >> Text = of my righteousness >> [ 009 ] >> Lemma = H07337 >> LemmaClass = strong >> Morph = TH8689 >> MorphClass = strongMorph >> PartCount = 1 >> Text = thou hast enlarged >> [ 010 ] >> Lemma = H06862 >> LemmaClass = strong >> PartCount = 1 >> Text = in distress >> [ 011 ] >> Lemma = H02603 >> LemmaClass = strong >> Morph = TH8798 >> MorphClass = strongMorph >> PartCount = 1 >> Text = have mercy >> [ 012 ] >> Lemma = H08085 >> LemmaClass = strong >> Morph = TH8798 >> MorphClass = strongMorph >> PartCount = 1 >> Text = upon me, and hear >> [ 013 ] >> Lemma = H08605 >> LemmaClass = strong >> PartCount = 1 >> Text = my prayer >> >> There are very brief comments on this in the doxygen docs for >> SWModule::search generated from the source headers. >> >> Experimenting with multiword search on the verse body with >> SWMgr::setGlobalOption("Headings", "On"), didn't produce the output I >> would have expected from preverse headings. Karl is certainly >> correct here. This is likely specific to this one special entry >> attribute type "Preverse". We strip this out from the rest of the >> body of the verse and are probably moving it out of the way before we >> perform the search of the body so an entry attribute search is the >> best way to find these. However, other options like Strongs, if they >> are turned on should return hits from the body of the verse. >> Generally speaking, anything that you get from the plaintext output >> for you options settings is what is searched by the verse body search >> facility, so with Strongs on, you should be able to search for lemmas >> as <G1234> or morph (5678), but still I would be more precise and use >> an entry attribute search: Word//Lemma./G1234/ >> >> Hope this helps. >> >> Troy >> >> >> >> On 04/04/2018 10:42 AM, Karl Kleinpaste wrote: >>> On 04/04/2018 01:33 PM, Karl Kleinpaste wrote: >>>> Doesn't appear to be true, headings on notwithstanding. >>> On the other hand, a search for lemma:H05058 finds "Neginoth" and >>> "song" all over the place. >>> Job 30:9; Psalms 4:1; Psalms 6:1; Psalms 54:1; Psalms 55:1; Psalms >>> 61:1; Psalms 67:1; Psalms 69:12; Psalms 76:1; Psalms 77:6; Isaiah >>> 38:20; Lamentations 3:14; Lamentations 5:14; Habakkuk 3:19 >>> >>> >>> _______________________________________________ >>> sword-devel mailing list: sword-devel@crosswire.org >>> http://www.crosswire.org/mailman/listinfo/sword-devel >>> Instructions to unsubscribe/change your settings at above page >> > > > _______________________________________________ > sword-devel mailing list: sword-devel@crosswire.org > http://www.crosswire.org/mailman/listinfo/sword-devel > Instructions to unsubscribe/change your settings at above page
_______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page