[ 
https://issues.apache.org/jira/browse/LUCENE-6680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14628806#comment-14628806
 ] 

ASF subversion and git services commented on LUCENE-6680:
---------------------------------------------------------

Commit 1691283 from [~mikemccand] in branch 'dev/branches/branch_5x'
[ https://svn.apache.org/r1691283 ]

LUCENE-6680: don't lose a suggestion that differs only in payload from another 
suggestion

> BlendedInfixSuggester dedup bug
> -------------------------------
>
>                 Key: LUCENE-6680
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6680
>             Project: Lucene - Core
>          Issue Type: Bug
>    Affects Versions: 5.2.1
>            Reporter: Arcadius Ahouansou
>             Fix For: 5.3, Trunk
>
>         Attachments: LUCENE-6680.patch
>
>
> I expect the following test to pass, but it's failing in the latest Lucene 
> 5.2.1: 
> {code:title=FailingTest.java|borderStyle=solid}
> public void testBlendedInfixSuggesterDedupsOnWeightTitleAndPayload() throws 
> Exception {
> //Only the payload is different
>     Input[] inputDocuments = new Input[]{
>         new Input("lend me your ear", 7, new BytesRef("uid1")),
>         new Input("lend me your ear", 7, new BytesRef("uid2")),
>     };
>     Analyzer a = new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false);
>     BlendedInfixSuggester suggester = new 
> BlendedInfixSuggester(newDirectory(), a, a, 
> AnalyzingInfixSuggester.DEFAULT_MIN_PREFIX_CHARS,
>         BlendedInfixSuggester.BlenderType.POSITION_RECIPROCAL, 10, false);
>     InputArrayIterator inputArrayIterator = new 
> InputArrayIterator(inputDocuments);
>     suggester.build(inputArrayIterator);
>     List<Lookup.LookupResult> results = 
> suggester.lookup(TestUtil.stringToCharSequence("ear", random()), 10, true, 
> true);
>     suggester.close();
>     a.close();
>     assertEquals(2, results.size());
>   }
> {code}
> This test is failing because the BlendedInfixSuggester internally uses a 
> TreeSet for storing the results and the corresponding Comparator only uses 
> text+weight meaning that results with different payloads are collapsed into 
> one.
> [~mikemccand], The idea here is that if two ingested documents have the same 
> title and weight, but different payloads, then they are two different things 
> and folding them into a single document would mean loosing the payload 
> information.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to