lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From laimis <...@git.apache.org>
Subject [GitHub] lucenenet pull request: Merge logic fixes
Date Sun, 25 Jan 2015 13:56:52 GMT
GitHub user laimis opened a pull request:

    https://github.com/apache/lucenenet/pull/59

    Merge logic fixes

    This PR contains fixes for segment merging logic for numeric and binary fields. Lucene.Net
port was ignoring docsWithField parameter and as a result the merged segment had incorrect
values in field infos.  
    
    SegmentMerger needs to pass docsWithField downstream so that the iterators could use it
to determine which value to return for byte or numeric fields. Here is the Lucene version,
https://github.com/apache/lucene-solr/blob/lucene_solr_4_8_0/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java#L159,
you can see how docsWithField is passed to Merge* calls.
    
    Subsequently, re-introduced docsWithField usage in DocValuesConsumer. Here is the Lucene
version for reference: https://github.com/apache/lucene-solr/blob/lucene_solr_4_8_0/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java.
Note how it uses docsWithField to determine if to return null or a value.
    
    And then related to that BinaryDocValuesWriter also needs to use docsWithField list to
return proper BytesRef values. Here is Lucene version for reference: https://github.com/apache/lucene-solr/blob/lucene_solr_4_8_0/lucene/core/src/java/org/apache/lucene/index/BinaryDocValuesWriter.java
    
    Also removed commented out ports of iterators. They were taking up space and making things
more confusing.
    
    You can see the tests that fail without these changes in TestLucene42DocValuesFormat or
TestLucene45DocValuesFormat, but there might be more. Example failing test from TC: http://teamcity.codebetter.com/viewLog.html?buildId=179687&tab=buildResultsDiv&buildTypeId=LuceneNet_Core#testNameId7364447424024347711

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/laimis/lucenenet merge_logic_fixes

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/lucenenet/pull/59.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #59
    
----
commit 4edb41be48fc2bd73c7ce9260ac7ec692b6861ed
Author: Laimonas Simutis <laimis@gmail.com>
Date:   2015-01-25T12:36:37Z

    match Lucene logic for merging values

commit 9776c7060c33b65c35b8b55af1d9b9177432cca4
Author: Laimonas Simutis <laimis@gmail.com>
Date:   2015-01-25T12:43:40Z

    merge with upstream/head, fix conflicts

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message