You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2015/07/15 23:45:05 UTC

[jira] [Commented] (LUCENE-6680) BlendedInfixSuggester dedup bug

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

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

Commit 1691282 from [~mikemccand] in branch 'dev/trunk'
[ https://svn.apache.org/r1691282 ]

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
>         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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org