Planning to cut the release branch in another 10-12 hours.

On Mon, May 1, 2017 at 4:00 PM, Martin Gainty <mgai...@hotmail.com> wrote:

> i was wondering if there was a specific test for SpanPayloadCheckQuery
> method
>
> matches = payloadToMatch.get(upto).bytesEquals(payload);
>
>
> the only implementation i could locate was in collectLeaf of
> SpanPayloadCheckQuery
>
>
> I will submit JIRA with Patch
>
>
> as a CS *dinosaur* I am more familiar with LISP for dissecting sentence
> fragments (what we called phenomes) than current SEO implementations
>
>
> Can you suggest a book to read to better understand Lucenes pattern
> dissection and match algorithms?
>
>
> Many Thanks for helpful guidance
> Martin
> ______________________________________________
>
>
>
>
> ------------------------------
> *From:* Erik Hatcher <erik.hatc...@gmail.com>
> *Sent:* Sunday, April 30, 2017 2:06 PM
>
> *To:* dev@lucene.apache.org
> *Subject:* Re: Release 6.6
>
> Martin -
>
> I have to admit to still being unsure what the gist is here - is there a
> bug?   Apologies for not catching what you’re saying/showing here.  Again,
> as far as I can tell SpanPayloadCheckQuery is working as expected now.
>
> I’m going to focus purely on SOLR-1485 this week to get it committed for
> 6.6.  If there is an issue to address with your work would you please open
> a JIRA and include your patch there?
>
> Thanks,
> Erik
>
>
> On Apr 30, 2017, at 7:47 AM, Martin Gainty <mgai...@hotmail.com> wrote:
>
> Mornin' Erik
>
> there is a collectLeaf  override in org.apache.lucene.queries.payloads.
> TestPayloadSpans ..but its never called:
>
> static class VerifyingCollector implements SpanCollector {
>     List<BytesRef> payloads = new ArrayList<>();
>     @Override
>     public void collectLeaf(PostingsEnum postings, int position, Term
> term) throws IOException {
>      ....
>      }
> }
>
>
> the modification in org.apache.lucene.queries.payloads.TestPayloadCheckQuery 
> tests
> collectLeaf for query
>
> //initialise term
>
> log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 231 before
> term1=new org.apache.lucene.index.Term('field','withPayload')");
> org.apache.lucene.index.Term term1=new org.apache.lucene.index.Term("field",
> "withPayload");
> log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 233
> term1="+term1);
>
> //assume position is 5
>     int position=5;
>     log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 235
> position="+position);
>
>     BytesRef pay = new BytesRef("pos: " + position);
>     log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 237
> pay="+pay);
>
> //build spanQuery with term parameter
>     org.apache.lucene.search.spans.SpanQuery spanQuery1 = new
> SpanTermQuery(term1);
>     log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 239
> spanQuery1="+spanQuery1);
>
> //add BytesRef to payloadToMatch list
>     java.util.List<org.apache.lucene.util.BytesRef> payloadToMatch=new
> java.util.ArrayList<org.apache.lucene.util.BytesRef>();
>     log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 241
> payloadToMatch="+payloadToMatch);
>     payloadToMatch.add(pay);
>
> //build SpanPayloadCheckQuery
>
> query=new org.apache.lucene.queries.payloads.SpanPayloadCheckQuery(
> (org.apache.lucene.search.spans.SpanQuery)query,
> (java.util.List<org.apache.lucene.util.BytesRef>)payloadToMatch);
> log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 249
> query="+query);
>
> //build lucene Directory (TODO: we should use an existing directory with
> REAL test-data)
> org.apache.lucene.store.Directory ram = newDirectory(com.carrotsearch.
> randomizedtesting.RandomizedContext.current().getRandom());
>
> //build SegmentReader from Directory
> log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 251
> ram="+ram);
> SegmentReader reader = getOnlySegmentReader(org.apache.lucene.index.
> DirectoryReader.open(ram));
> log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 253
> reader="+reader);
>
> //populate SlowCompositeReaderWrapper with SegmentReader
>     org.apache.lucene.index.LeafReader sr = org.apache.lucene.index.
> SlowCompositeReaderWrapper.wrap(reader);
>     log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 255
> sr="+sr);
>
> //add term to SegmentReader postings
> org.apache.lucene.index.PostingsEnum postings = sr.postings(term1,
> PostingsEnum.PAYLOADS);
>
> log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 257 before
> query.getPayloadChecker().collectLeaf((org.apache.
> lucene.index.PostingsEnum)postings, 
> (int)position,(org.apache.lucene.index.Term)term1)
> where postings="+postings);
>
> //display the parameters for collectLeaf method for query:
> log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 258 before
> query.getPayloadChecker().collectLeaf((org.apache.
> lucene.index.PostingsEnum)postings, 
> (int)position,(org.apache.lucene.index.Term)term1)
> where position="+position);
>
> log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 259 before
> query.getPayloadChecker().collectLeaf((org.apache.
> lucene.index.PostingsEnum)postings, 
> (int)position,(org.apache.lucene.index.Term)term1)
> where term1="+term1);
>     try
>     { //public void collectLeaf(org.apache.lucene.index.PostingsEnum
> postings, int position,       //org.apache.lucene.index.Term term) throws
> java.io.IOException {
> query.getPayloadChecker().collectLeaf((org.apache.
> lucene.index.PostingsEnum)postings, (int)position,(org.apache.
> lucene.index.Term)term1);
> }
> catch(java.io.IOException ioe) { 
> log.debug("TestPayloadCheckQuery::testSpanPayloadCheck
> LINE 264 query.getPayloadChecker().collectLeaf((org.apache.
> lucene.index.PostingsEnum)postings, 
> (int)position,(org.apache.lucene.index.Term)term1)
> LINE 106 throws IOException ="+ioe.getMessage()); }
>
> collectLeaf is the only method that compares matches=payloadToMatch.get(
> upto).bytesEquals(payload)
>
> to determine "match"
>
> unless of course match between individual payload and payloadToMatch is
> tested elsewhere ?
>
> WDYT?
> Martin
> ______________________________________________
>
>
>
>
> ------------------------------
> *From:* Erik Hatcher <erik.hatc...@gmail.com>
> *Sent:* Saturday, April 29, 2017 7:58 PM
> *To:* Lucene/Solr dev
> *Subject:* Re: Release 6.6
>
> Martin -
>
> Interesting test but I couldn’t copy/paste it in to try it out as it uses
> some logging and APIs that aren’t already in the project and classpath of
> these lucene tests within that queries module (within IntelliJ, mind you).
>
> I was able to resolve the misunderstanding (and .equals/.hashCode bugs) so
> everything is working as expected with SpanPayloadCheckQuery for me now.
> Do your tests point out an issue?   Or confirming that it is working
> properly at a lower level?
>
> Erik
>
>
> On Apr 29, 2017, at 9:08 AM, Martin Gainty <mgai...@hotmail.com> wrote:
>
> Martin Gainty has shared a OneDrive file with you. To view it, click the
> link below.
> <https://1drv.ms/u/s!AkpuiYcNg4cSgWRHc6DadiCIYaFN>
> TestPayloadCheckQuery.java
> <https://1drv.ms/u/s!AkpuiYcNg4cSgWRHc6DadiCIYaFN>
> <https://1drv.ms/u/s!AkpuiYcNg4cSgWRHc6DadiCIYaFN>
> attached
>
> I coded this last nite so it is "quick and dirty"
>
> in any case let me know if  testSpanPayloadCheck() method modification
> properly addresses your situation
>
> Thanks!
> Martin
> ______________________________________________
>
>
>
>
> ------------------------------
> *From:* Erik Hatcher <erik.hatc...@gmail.com>
> *Sent:* Saturday, April 29, 2017 8:58 AM
> *To:* dev@lucene.apache.org
> *Subject:* Re: Release 6.6
>
> Martin - there is a test class specifically for this query.   See the
> recent commits I've made to test it further fixing .equals/.hashCode and
> rewrite.
>
> Can you send your full test code?
>
>    Erik
>
> On Apr 29, 2017, at 07:32, Martin Gainty <mgai...@hotmail.com> wrote:
>
> when Erik mentioned he couldnt get SpanPayloadCheckQuery to work I was
> about to reply just run that TestCase
> (until i discovered there wasnt any!)
>
> i'll start the bidding at 1 dinar for TestCase org.apache.
> lucene.queries.payloads.TestPayloadCheckQuery mod:
>   @org.junit.Test
>   public void testSpanPayloadCheck() throws Exception
>
>
>     //now lets test the collectLeaf for query
>     //of course calling Base Class SpanPayloadCheckQuery to construct query
>
> log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 257 before
> query.getPayloadChecker().collectLeaf((org.apache.
> lucene.index.PostingsEnum)postings, 
> (int)position,(org.apache.lucene.index.Term)term1)
> where postings="+postings);
> log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 258 before
> query.getPayloadChecker().collectLeaf((org.apache.
> lucene.index.PostingsEnum)postings, 
> (int)position,(org.apache.lucene.index.Term)term1)
> where position="+position);
> log.debug("TestPayloadCheckQuery::testSpanPayloadCheck LINE 259 before
> query.getPayloadChecker().collectLeaf((org.apache.
> lucene.index.PostingsEnum)postings, 
> (int)position,(org.apache.lucene.index.Term)term1)
> where term1="+term1);
>
>     try
>     { //test public void collectLeaf(org.apache.lucene.index.PostingsEnum
> postings, int position,              //org.apache.lucene.index.Term term)
> throws java.io.IOException {
> query.getPayloadChecker().collectLeaf((org.apache.
> lucene.index.PostingsEnum)postings, (int)position,(org.apache.
> lucene.index.Term)term1);
> }
> catch(java.io.IOException ioe) { 
> log.error("TestPayloadCheckQuery::testSpanPayloadCheck
> LINE 264 query.getPayloadChecker().collectLeaf((org.apache.
> lucene.index.PostingsEnum)postings, 
> (int)position,(org.apache.lucene.index.Term)term1)
> LINE 106 throws IOException ="+ioe.getMessage()); }
>
> unless of course anyone has a better idea to test collectLeaf ?
> Martin
> ______________________________________________
>
>
>
>
> ------------------------------
> *From:* Erik Hatcher <erik.hatc...@gmail.com>
> *Sent:* Tuesday, April 25, 2017 7:57 PM
> *To:* dev@lucene.apache.org
> *Subject:* Re: Release 6.6
>
> Probably no bribe needed, but an updated patch would be a good start (or
> will the 2.5 year old patch still apply and be acceptable as-is?)
>
> Erik
>
> On Apr 25, 2017, at 7:52 PM, Walter Underwood <wun...@wunderwood.org>
> wrote:
>
> Who do I have to bribe to get SOLR-629 included?
>
> https://issues.apache.org/jira/browse/SOLR-629
>
> wunder
> Walter Underwood
> wun...@wunderwood.org
> http://observer.wunderwood.org/  (my blog)
>
>
> On Apr 25, 2017, at 10:46 AM, Ishan Chattopadhyaya <
> ichattopadhy...@gmail.com> wrote:
>
> Hi,
> We have lots of changes, optimizations, bug fixes for 6.6. I'd like to
> propose a 6.6 release (perhaps the last 6x non-bug-fix release before 7.0
> release).
>
> I can volunteer to release this, and I can cut the release branch around
> 4th May, in order to let some time for devs to finish current issues.
>
> What do you think?
>
> Regards,
> Ishan
>
>
>

Reply via email to