You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2016/12/10 19:35:34 UTC
[4/7] lucenenet git commit: Corrected physical directory locations of
Lucene.Net.Sandbox and Lucene.Net.Tests.Sandbox
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/Lucene.Net.Tests.Sandbox/Queries/TestSortedSetSortFieldSelectors.cs
----------------------------------------------------------------------
diff --git a/Lucene.Net.Tests.Sandbox/Queries/TestSortedSetSortFieldSelectors.cs b/Lucene.Net.Tests.Sandbox/Queries/TestSortedSetSortFieldSelectors.cs
deleted file mode 100644
index 78119e0..0000000
--- a/Lucene.Net.Tests.Sandbox/Queries/TestSortedSetSortFieldSelectors.cs
+++ /dev/null
@@ -1,611 +0,0 @@
-\ufeffusing Lucene.Net.Codecs;
-using Lucene.Net.Codecs.DiskDV;
-using Lucene.Net.Codecs.Lucene45;
-using Lucene.Net.Codecs.Memory;
-using Lucene.Net.Documents;
-using Lucene.Net.Index;
-using Lucene.Net.Search;
-using Lucene.Net.Store;
-using Lucene.Net.Util;
-using NUnit.Framework;
-
-namespace Lucene.Net.Sandbox.Queries
-{
- /*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /// <summary>
- /// Tests for SortedSetSortField selectors other than MIN,
- /// these require optional codec support (random access to ordinals)
- /// </summary>
- public class TestSortedSetSortFieldSelectors : LuceneTestCase
- {
- static Codec savedCodec;
-
- [TestFixtureSetUp]
- public static void beforeClass()
- {
- savedCodec = Codec.Default;
- // currently only these codecs that support random access ordinals
- int victim = Random().nextInt(3);
- switch (victim)
- {
- case 0: Codec.Default = (TestUtil.AlwaysDocValuesFormat(new DirectDocValuesFormat())); break;
- case 1: Codec.Default = (TestUtil.AlwaysDocValuesFormat(new DiskDocValuesFormat())); break;
- default: Codec.Default = (TestUtil.AlwaysDocValuesFormat(new Lucene45DocValuesFormat())); break;
- }
- }
-
- [TestFixtureTearDown]
- public static void afterClass()
- {
- Codec.Default = (savedCodec);
- }
-
- public override void SetUp()
- {
- base.SetUp();
- // ensure there is nothing in fieldcache before test starts
- FieldCache.DEFAULT.PurgeAllCaches();
- }
-
- private void assertNoFieldCaches()
- {
- // docvalues sorting should NOT create any fieldcache entries!
- assertEquals(0, FieldCache.DEFAULT.CacheEntries.Length);
- }
-
- [Test]
- public void TestMax()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("foo")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("bar")));
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("baz")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
-
- Sort sort = new Sort(new SortedSetSortField("value", false, Selector.MAX));
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(2, td.TotalHits);
- // 'baz' comes before 'foo'
- assertEquals("2", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- assertEquals("1", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
-
- [Test]
- public void TestMaxReverse()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("foo")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("bar")));
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("baz")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
-
- Sort sort = new Sort(new SortedSetSortField("value", true, Selector.MAX));
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(2, td.TotalHits);
- // 'baz' comes before 'foo'
- assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
-
- [Test]
- public void TestMaxMissingFirst()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("foo")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("bar")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("baz")));
- doc.Add(NewStringField("id", "3", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
-
- SortField sortField = new SortedSetSortField("value", false, Selector.MAX);
- sortField.MissingValue = (SortField.STRING_FIRST);
- Sort sort = new Sort(sortField);
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(3, td.TotalHits);
- // null comes first
- assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- // 'baz' comes before 'foo'
- assertEquals("3", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- assertEquals("2", searcher.Doc(td.ScoreDocs[2].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
-
- [Test]
- public void TestMaxMissingLast()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("foo")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("bar")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("baz")));
- doc.Add(NewStringField("id", "3", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
-
- SortField sortField = new SortedSetSortField("value", false, Selector.MAX);
- sortField.MissingValue = (SortField.STRING_LAST);
- Sort sort = new Sort(sortField);
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(3, td.TotalHits);
- // 'baz' comes before 'foo'
- assertEquals("3", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- // null comes last
- assertEquals("1", searcher.Doc(td.ScoreDocs[2].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
-
- [Test]
- public void TestMaxSingleton()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("baz")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("bar")));
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
- Sort sort = new Sort(new SortedSetSortField("value", false, Selector.MAX));
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(2, td.TotalHits);
- // 'bar' comes before 'baz'
- assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
-
- [Test]
- public void TestMiddleMin()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
- Sort sort = new Sort(new SortedSetSortField("value", false, Selector.MIDDLE_MIN));
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(2, td.TotalHits);
- // 'b' comes before 'c'
- assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
-
- [Test]
- public void TestMiddleMinReverse()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
- Sort sort = new Sort(new SortedSetSortField("value", true, Selector.MIDDLE_MIN));
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(2, td.TotalHits);
- // 'b' comes before 'c'
- assertEquals("2", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- assertEquals("1", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
-
- [Test]
- public void TestMiddleMinMissingFirst()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(NewStringField("id", "3", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
- SortField sortField = new SortedSetSortField("value", false, Selector.MIDDLE_MIN);
- sortField.MissingValue = (SortField.STRING_FIRST);
- Sort sort = new Sort(sortField);
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(3, td.TotalHits);
- // null comes first
- assertEquals("3", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- // 'b' comes before 'c'
- assertEquals("1", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- assertEquals("2", searcher.Doc(td.ScoreDocs[2].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
-
- [Test]
- public void TestMiddleMinMissingLast()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(NewStringField("id", "3", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
- SortField sortField = new SortedSetSortField("value", false, Selector.MIDDLE_MIN);
- sortField.MissingValue = (SortField.STRING_LAST);
- Sort sort = new Sort(sortField);
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(3, td.TotalHits);
- // 'b' comes before 'c'
- assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- // null comes last
- assertEquals("3", searcher.Doc(td.ScoreDocs[2].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
-
- [Test]
- public void TestMiddleMinSingleton()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("baz")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("bar")));
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
- Sort sort = new Sort(new SortedSetSortField("value", false, Selector.MIDDLE_MIN));
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(2, td.TotalHits);
- // 'bar' comes before 'baz'
- assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
-
- [Test]
- public void TestMiddleMax()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
- Sort sort = new Sort(new SortedSetSortField("value", false, Selector.MIDDLE_MAX));
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(2, td.TotalHits);
- // 'b' comes before 'c'
- assertEquals("2", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- assertEquals("1", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
-
- [Test]
- public void TestMiddleMaxReverse()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
- Sort sort = new Sort(new SortedSetSortField("value", true, Selector.MIDDLE_MAX));
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(2, td.TotalHits);
- // 'b' comes before 'c'
- assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
-
- [Test]
- public void TestMiddleMaxMissingFirst()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(NewStringField("id", "3", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
- SortField sortField = new SortedSetSortField("value", false, Selector.MIDDLE_MAX);
- sortField.MissingValue = (SortField.STRING_FIRST);
- Sort sort = new Sort(sortField);
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(3, td.TotalHits);
- // null comes first
- assertEquals("3", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- // 'b' comes before 'c'
- assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- assertEquals("1", searcher.Doc(td.ScoreDocs[2].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
-
- [Test]
- public void TestMiddleMaxMissingLast()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(NewStringField("id", "3", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
- SortField sortField = new SortedSetSortField("value", false, Selector.MIDDLE_MAX);
- sortField.MissingValue = (SortField.STRING_LAST);
- Sort sort = new Sort(sortField);
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(3, td.TotalHits);
- // 'b' comes before 'c'
- assertEquals("2", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- assertEquals("1", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- // null comes last
- assertEquals("3", searcher.Doc(td.ScoreDocs[2].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
-
- [Test]
- public void TestMiddleMaxSingleton()
- {
- Directory dir = NewDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
- Document doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("baz")));
- doc.Add(NewStringField("id", "2", Field.Store.YES));
- writer.AddDocument(doc);
- doc = new Document();
- doc.Add(new SortedSetDocValuesField("value", new BytesRef("bar")));
- doc.Add(NewStringField("id", "1", Field.Store.YES));
- writer.AddDocument(doc);
- IndexReader ir = writer.Reader;
- writer.Dispose();
-
- // slow wrapper does not support random access ordinals (there is no need for that!)
- IndexSearcher searcher = NewSearcher(ir, false);
- Sort sort = new Sort(new SortedSetSortField("value", false, Selector.MIDDLE_MAX));
-
- TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
- assertEquals(2, td.TotalHits);
- // 'bar' comes before 'baz'
- assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
- assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
- assertNoFieldCaches();
-
- ir.Dispose();
- dir.Dispose();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/Lucene.Net.Tests.Sandbox/Queries/fuzzyTestData.txt
----------------------------------------------------------------------
diff --git a/Lucene.Net.Tests.Sandbox/Queries/fuzzyTestData.txt b/Lucene.Net.Tests.Sandbox/Queries/fuzzyTestData.txt
deleted file mode 100644
index b759da7..0000000
--- a/Lucene.Net.Tests.Sandbox/Queries/fuzzyTestData.txt
+++ /dev/null
@@ -1,3721 +0,0 @@
-3
-0,0,1,0.1
-1
-0,1.0
-1,0,1,0.1
-1
-1,1.0
-2,0,1,0.1
-1
-2,1.0
-3,0,1,0.1
-1
-3,1.0
-4,0,1,0.1
-1
-4,1.0
-5,0,1,0.1
-1
-5,1.0
-6,0,1,0.1
-1
-6,1.0
-7,0,1,0.1
-1
-7,1.0
-0,0,1,0.3
-1
-0,1.0
-1,0,1,0.3
-1
-1,1.0
-2,0,1,0.3
-1
-2,1.0
-3,0,1,0.3
-1
-3,1.0
-4,0,1,0.3
-1
-4,1.0
-5,0,1,0.3
-1
-5,1.0
-6,0,1,0.3
-1
-6,1.0
-7,0,1,0.3
-1
-7,1.0
-0,0,1,0.5
-1
-0,1.0
-1,0,1,0.5
-1
-1,1.0
-2,0,1,0.5
-1
-2,1.0
-3,0,1,0.5
-1
-3,1.0
-4,0,1,0.5
-1
-4,1.0
-5,0,1,0.5
-1
-5,1.0
-6,0,1,0.5
-1
-6,1.0
-7,0,1,0.5
-1
-7,1.0
-0,0,1,0.7
-1
-0,1.0
-1,0,1,0.7
-1
-1,1.0
-2,0,1,0.7
-1
-2,1.0
-3,0,1,0.7
-1
-3,1.0
-4,0,1,0.7
-1
-4,1.0
-5,0,1,0.7
-1
-5,1.0
-6,0,1,0.7
-1
-6,1.0
-7,0,1,0.7
-1
-7,1.0
-0,0,1,0.9
-1
-0,1.0
-1,0,1,0.9
-1
-1,1.0
-2,0,1,0.9
-1
-2,1.0
-3,0,1,0.9
-1
-3,1.0
-4,0,1,0.9
-1
-4,1.0
-5,0,1,0.9
-1
-5,1.0
-6,0,1,0.9
-1
-6,1.0
-7,0,1,0.9
-1
-7,1.0
-0,0,2,0.1
-1
-0,1.0
-1,0,2,0.1
-1
-1,1.0
-2,0,2,0.1
-2
-2,0.91381156
-4,0.4061385
-3,0,2,0.1
-2
-3,0.91381156
-2,0.4061385
-4,0,2,0.1
-2
-4,0.84623283
-5,0.53281325
-5,0,2,0.1
-2
-5,0.84623283
-4,0.53281325
-6,0,2,0.1
-2
-6,0.84623283
-4,0.53281325
-7,0,2,0.1
-2
-7,0.84623283
-5,0.53281325
-0,0,2,0.3
-1
-0,1.0
-1,0,2,0.3
-1
-1,1.0
-2,0,2,0.3
-2
-2,0.96152395
-4,0.27472112
-3,0,2,0.3
-2
-3,0.96152395
-2,0.27472112
-4,0,2,0.3
-2
-4,0.88583153
-5,0.4640069
-5,0,2,0.3
-2
-5,0.88583153
-4,0.4640069
-6,0,2,0.3
-2
-6,0.88583153
-4,0.4640069
-7,0,2,0.3
-2
-7,0.88583153
-5,0.4640069
-0,0,2,0.5
-1
-0,1.0
-1,0,2,0.5
-1
-1,1.0
-2,0,2,0.5
-1
-2,1.0
-3,0,2,0.5
-1
-3,1.0
-4,0,2,0.5
-2
-4,0.9486833
-5,0.3162277
-5,0,2,0.5
-2
-5,0.9486833
-4,0.3162277
-6,0,2,0.5
-2
-6,0.9486833
-4,0.3162277
-7,0,2,0.5
-2
-7,0.9486833
-5,0.3162277
-0,0,2,0.7
-1
-0,1.0
-1,0,2,0.7
-1
-1,1.0
-2,0,2,0.7
-1
-2,1.0
-3,0,2,0.7
-1
-3,1.0
-4,0,2,0.7
-1
-4,1.0
-5,0,2,0.7
-1
-5,1.0
-6,0,2,0.7
-1
-6,1.0
-7,0,2,0.7
-1
-7,1.0
-0,0,2,0.9
-1
-0,1.0
-1,0,2,0.9
-1
-1,1.0
-2,0,2,0.9
-1
-2,1.0
-3,0,2,0.9
-1
-3,1.0
-4,0,2,0.9
-1
-4,1.0
-5,0,2,0.9
-1
-5,1.0
-6,0,2,0.9
-1
-6,1.0
-7,0,2,0.9
-1
-7,1.0
-0,0,3,0.1
-1
-0,1.0
-1,0,3,0.1
-1
-1,1.0
-2,0,3,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,0,3,0.1
-3
-3,0.84664875
-2,0.37628835
-5,0.37628835
-4,0,3,0.1
-3
-4,0.74683726
-5,0.47023085
-6,0.47023085
-5,0,3,0.1
-3
-5,0.74683726
-4,0.47023085
-7,0.47023085
-6,0,3,0.1
-3
-6,0.74683726
-4,0.47023085
-7,0.47023085
-7,0,3,0.1
-3
-7,0.74683726
-5,0.47023085
-6,0.47023085
-0,0,3,0.3
-1
-0,1.0
-1,0,3,0.3
-1
-1,1.0
-2,0,3,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,0,3,0.3
-3
-3,0.92717266
-2,0.26490647
-5,0.26490647
-4,0,3,0.3
-3
-4,0.8035427
-5,0.42090324
-6,0.42090324
-5,0,3,0.3
-3
-5,0.80354273
-4,0.42090327
-7,0.42090327
-6,0,3,0.3
-3
-6,0.80354273
-4,0.42090327
-7,0.42090327
-7,0,3,0.3
-3
-7,0.8035427
-5,0.42090324
-6,0.42090324
-0,0,3,0.5
-1
-0,1.0
-1,0,3,0.5
-1
-1,1.0
-2,0,3,0.5
-1
-2,1.0
-3,0,3,0.5
-1
-3,1.0
-4,0,3,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,0,3,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,0,3,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,0,3,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,0,3,0.7
-1
-0,1.0
-1,0,3,0.7
-1
-1,1.0
-2,0,3,0.7
-1
-2,1.0
-3,0,3,0.7
-1
-3,1.0
-4,0,3,0.7
-1
-4,1.0
-5,0,3,0.7
-1
-5,1.0
-6,0,3,0.7
-1
-6,1.0
-7,0,3,0.7
-1
-7,1.0
-0,0,3,0.9
-1
-0,1.0
-1,0,3,0.9
-1
-1,1.0
-2,0,3,0.9
-1
-2,1.0
-3,0,3,0.9
-1
-3,1.0
-4,0,3,0.9
-1
-4,1.0
-5,0,3,0.9
-1
-5,1.0
-6,0,3,0.9
-1
-6,1.0
-7,0,3,0.9
-1
-7,1.0
-0,0,4,0.1
-1
-0,1.0
-1,0,4,0.1
-1
-1,1.0
-2,0,4,0.1
-4
-2,0.7924058
-3,0.35218036
-4,0.35218036
-5,0.35218036
-3,0,4,0.1
-4
-3,0.79240584
-2,0.3521804
-5,0.3521804
-6,0.3521804
-4,0,4,0.1
-4
-4,0.7088104
-5,0.44628802
-6,0.44628802
-2,0.31502685
-5,0,4,0.1
-4
-5,0.7088104
-4,0.44628802
-7,0.44628802
-2,0.31502685
-6,0,4,0.1
-4
-6,0.7088104
-4,0.44628802
-7,0.44628802
-2,0.31502685
-7,0,4,0.1
-4
-7,0.7088104
-5,0.44628802
-6,0.44628802
-3,0.31502685
-0,0,4,0.3
-1
-0,1.0
-1,0,4,0.3
-1
-1,1.0
-2,0,4,0.3
-4
-2,0.8962582
-3,0.25607374
-4,0.25607374
-5,0.25607374
-3,0,4,0.3
-4
-3,0.8962582
-2,0.25607374
-5,0.25607374
-6,0.25607374
-4,0,4,0.3
-4
-4,0.7831679
-5,0.41023073
-6,0.41023073
-2,0.22376224
-5,0,4,0.3
-4
-5,0.7831679
-4,0.41023073
-7,0.41023073
-2,0.22376224
-6,0,4,0.3
-4
-6,0.7831679
-4,0.41023073
-7,0.41023073
-2,0.22376224
-7,0,4,0.3
-4
-7,0.7831679
-5,0.41023073
-6,0.41023073
-3,0.22376224
-0,0,4,0.5
-1
-0,1.0
-1,0,4,0.5
-1
-1,1.0
-2,0,4,0.5
-1
-2,1.0
-3,0,4,0.5
-1
-3,1.0
-4,0,4,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,0,4,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,0,4,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,0,4,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,0,4,0.7
-1
-0,1.0
-1,0,4,0.7
-1
-1,1.0
-2,0,4,0.7
-1
-2,1.0
-3,0,4,0.7
-1
-3,1.0
-4,0,4,0.7
-1
-4,1.0
-5,0,4,0.7
-1
-5,1.0
-6,0,4,0.7
-1
-6,1.0
-7,0,4,0.7
-1
-7,1.0
-0,0,4,0.9
-1
-0,1.0
-1,0,4,0.9
-1
-1,1.0
-2,0,4,0.9
-1
-2,1.0
-3,0,4,0.9
-1
-3,1.0
-4,0,4,0.9
-1
-4,1.0
-5,0,4,0.9
-1
-5,1.0
-6,0,4,0.9
-1
-6,1.0
-7,0,4,0.9
-1
-7,1.0
-0,0,5,0.1
-1
-0,1.0
-1,0,5,0.1
-1
-1,1.0
-2,0,5,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,0,5,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,0,5,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,0,5,0.1
-5
-5,0.67605716
-4,0.42566562
-7,0.42566562
-2,0.30046988
-3,0.30046988
-6,0,5,0.1
-5
-6,0.67605716
-4,0.42566562
-7,0.42566562
-2,0.30046988
-3,0.30046988
-7,0,5,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,0,5,0.3
-1
-0,1.0
-1,0,5,0.3
-1
-1,1.0
-2,0,5,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,0,5,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,0,5,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,0,5,0.3
-5
-5,0.7642683
-4,0.40033093
-7,0.40033093
-2,0.21836235
-3,0.21836235
-6,0,5,0.3
-5
-6,0.7642683
-4,0.40033093
-7,0.40033093
-2,0.21836235
-3,0.21836235
-7,0,5,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,0,5,0.5
-1
-0,1.0
-1,0,5,0.5
-1
-1,1.0
-2,0,5,0.5
-1
-2,1.0
-3,0,5,0.5
-1
-3,1.0
-4,0,5,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,0,5,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,0,5,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,0,5,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,0,5,0.7
-1
-0,1.0
-1,0,5,0.7
-1
-1,1.0
-2,0,5,0.7
-1
-2,1.0
-3,0,5,0.7
-1
-3,1.0
-4,0,5,0.7
-1
-4,1.0
-5,0,5,0.7
-1
-5,1.0
-6,0,5,0.7
-1
-6,1.0
-7,0,5,0.7
-1
-7,1.0
-0,0,5,0.9
-1
-0,1.0
-1,0,5,0.9
-1
-1,1.0
-2,0,5,0.9
-1
-2,1.0
-3,0,5,0.9
-1
-3,1.0
-4,0,5,0.9
-1
-4,1.0
-5,0,5,0.9
-1
-5,1.0
-6,0,5,0.9
-1
-6,1.0
-7,0,5,0.9
-1
-7,1.0
-0,0,6,0.1
-1
-0,1.0
-1,0,6,0.1
-1
-1,1.0
-2,0,6,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,0,6,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,0,6,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,0,6,0.1
-6
-5,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-6,0.17264226
-6,0,6,0.1
-6
-6,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-5,0.17264226
-7,0,6,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,0,6,0.3
-1
-0,1.0
-1,0,6,0.3
-1
-1,1.0
-2,0,6,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,0,6,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,0,6,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,0,6,0.3
-6
-5,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-6,0.036369618
-6,0,6,0.3
-6
-6,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-5,0.036369618
-7,0,6,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,0,6,0.5
-1
-0,1.0
-1,0,6,0.5
-1
-1,1.0
-2,0,6,0.5
-1
-2,1.0
-3,0,6,0.5
-1
-3,1.0
-4,0,6,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,0,6,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,0,6,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,0,6,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,0,6,0.7
-1
-0,1.0
-1,0,6,0.7
-1
-1,1.0
-2,0,6,0.7
-1
-2,1.0
-3,0,6,0.7
-1
-3,1.0
-4,0,6,0.7
-1
-4,1.0
-5,0,6,0.7
-1
-5,1.0
-6,0,6,0.7
-1
-6,1.0
-7,0,6,0.7
-1
-7,1.0
-0,0,6,0.9
-1
-0,1.0
-1,0,6,0.9
-1
-1,1.0
-2,0,6,0.9
-1
-2,1.0
-3,0,6,0.9
-1
-3,1.0
-4,0,6,0.9
-1
-4,1.0
-5,0,6,0.9
-1
-5,1.0
-6,0,6,0.9
-1
-6,1.0
-7,0,6,0.9
-1
-7,1.0
-0,0,7,0.1
-1
-0,1.0
-1,0,7,0.1
-1
-1,1.0
-2,0,7,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,0,7,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,0,7,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,0,7,0.1
-6
-5,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-6,0.17264226
-6,0,7,0.1
-6
-6,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-5,0.17264226
-7,0,7,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,0,7,0.3
-1
-0,1.0
-1,0,7,0.3
-1
-1,1.0
-2,0,7,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,0,7,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,0,7,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,0,7,0.3
-6
-5,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-6,0.036369618
-6,0,7,0.3
-6
-6,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-5,0.036369618
-7,0,7,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,0,7,0.5
-1
-0,1.0
-1,0,7,0.5
-1
-1,1.0
-2,0,7,0.5
-1
-2,1.0
-3,0,7,0.5
-1
-3,1.0
-4,0,7,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,0,7,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,0,7,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,0,7,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,0,7,0.7
-1
-0,1.0
-1,0,7,0.7
-1
-1,1.0
-2,0,7,0.7
-1
-2,1.0
-3,0,7,0.7
-1
-3,1.0
-4,0,7,0.7
-1
-4,1.0
-5,0,7,0.7
-1
-5,1.0
-6,0,7,0.7
-1
-6,1.0
-7,0,7,0.7
-1
-7,1.0
-0,0,7,0.9
-1
-0,1.0
-1,0,7,0.9
-1
-1,1.0
-2,0,7,0.9
-1
-2,1.0
-3,0,7,0.9
-1
-3,1.0
-4,0,7,0.9
-1
-4,1.0
-5,0,7,0.9
-1
-5,1.0
-6,0,7,0.9
-1
-6,1.0
-7,0,7,0.9
-1
-7,1.0
-0,0,8,0.1
-1
-0,1.0
-1,0,8,0.1
-1
-1,1.0
-2,0,8,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,0,8,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,0,8,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,0,8,0.1
-6
-5,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-6,0.17264226
-6,0,8,0.1
-6
-6,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-5,0.17264226
-7,0,8,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,0,8,0.3
-1
-0,1.0
-1,0,8,0.3
-1
-1,1.0
-2,0,8,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,0,8,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,0,8,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,0,8,0.3
-6
-5,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-6,0.036369618
-6,0,8,0.3
-6
-6,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-5,0.036369618
-7,0,8,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,0,8,0.5
-1
-0,1.0
-1,0,8,0.5
-1
-1,1.0
-2,0,8,0.5
-1
-2,1.0
-3,0,8,0.5
-1
-3,1.0
-4,0,8,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,0,8,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,0,8,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,0,8,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,0,8,0.7
-1
-0,1.0
-1,0,8,0.7
-1
-1,1.0
-2,0,8,0.7
-1
-2,1.0
-3,0,8,0.7
-1
-3,1.0
-4,0,8,0.7
-1
-4,1.0
-5,0,8,0.7
-1
-5,1.0
-6,0,8,0.7
-1
-6,1.0
-7,0,8,0.7
-1
-7,1.0
-0,0,8,0.9
-1
-0,1.0
-1,0,8,0.9
-1
-1,1.0
-2,0,8,0.9
-1
-2,1.0
-3,0,8,0.9
-1
-3,1.0
-4,0,8,0.9
-1
-4,1.0
-5,0,8,0.9
-1
-5,1.0
-6,0,8,0.9
-1
-6,1.0
-7,0,8,0.9
-1
-7,1.0
-0,1,1,0.1
-1
-0,1.0
-1,1,1,0.1
-1
-1,1.0
-2,1,1,0.1
-1
-2,1.0
-3,1,1,0.1
-1
-3,1.0
-4,1,1,0.1
-1
-4,1.0
-5,1,1,0.1
-1
-5,1.0
-6,1,1,0.1
-1
-6,1.0
-7,1,1,0.1
-1
-7,1.0
-0,1,1,0.3
-1
-0,1.0
-1,1,1,0.3
-1
-1,1.0
-2,1,1,0.3
-1
-2,1.0
-3,1,1,0.3
-1
-3,1.0
-4,1,1,0.3
-1
-4,1.0
-5,1,1,0.3
-1
-5,1.0
-6,1,1,0.3
-1
-6,1.0
-7,1,1,0.3
-1
-7,1.0
-0,1,1,0.5
-1
-0,1.0
-1,1,1,0.5
-1
-1,1.0
-2,1,1,0.5
-1
-2,1.0
-3,1,1,0.5
-1
-3,1.0
-4,1,1,0.5
-1
-4,1.0
-5,1,1,0.5
-1
-5,1.0
-6,1,1,0.5
-1
-6,1.0
-7,1,1,0.5
-1
-7,1.0
-0,1,1,0.7
-1
-0,1.0
-1,1,1,0.7
-1
-1,1.0
-2,1,1,0.7
-1
-2,1.0
-3,1,1,0.7
-1
-3,1.0
-4,1,1,0.7
-1
-4,1.0
-5,1,1,0.7
-1
-5,1.0
-6,1,1,0.7
-1
-6,1.0
-7,1,1,0.7
-1
-7,1.0
-0,1,1,0.9
-1
-0,1.0
-1,1,1,0.9
-1
-1,1.0
-2,1,1,0.9
-1
-2,1.0
-3,1,1,0.9
-1
-3,1.0
-4,1,1,0.9
-1
-4,1.0
-5,1,1,0.9
-1
-5,1.0
-6,1,1,0.9
-1
-6,1.0
-7,1,1,0.9
-1
-7,1.0
-0,1,2,0.1
-1
-0,1.0
-1,1,2,0.1
-1
-1,1.0
-2,1,2,0.1
-2
-2,0.91381156
-4,0.4061385
-3,1,2,0.1
-2
-3,0.91381156
-2,0.4061385
-4,1,2,0.1
-2
-4,0.84623283
-5,0.53281325
-5,1,2,0.1
-2
-5,0.84623283
-4,0.53281325
-6,1,2,0.1
-2
-6,0.84623283
-4,0.53281325
-7,1,2,0.1
-2
-7,0.84623283
-5,0.53281325
-0,1,2,0.3
-1
-0,1.0
-1,1,2,0.3
-1
-1,1.0
-2,1,2,0.3
-2
-2,0.96152395
-4,0.27472112
-3,1,2,0.3
-2
-3,0.96152395
-2,0.27472112
-4,1,2,0.3
-2
-4,0.88583153
-5,0.4640069
-5,1,2,0.3
-2
-5,0.88583153
-4,0.4640069
-6,1,2,0.3
-2
-6,0.88583153
-4,0.4640069
-7,1,2,0.3
-2
-7,0.88583153
-5,0.4640069
-0,1,2,0.5
-1
-0,1.0
-1,1,2,0.5
-1
-1,1.0
-2,1,2,0.5
-1
-2,1.0
-3,1,2,0.5
-1
-3,1.0
-4,1,2,0.5
-2
-4,0.9486833
-5,0.3162277
-5,1,2,0.5
-2
-5,0.9486833
-4,0.3162277
-6,1,2,0.5
-2
-6,0.9486833
-4,0.3162277
-7,1,2,0.5
-2
-7,0.9486833
-5,0.3162277
-0,1,2,0.7
-1
-0,1.0
-1,1,2,0.7
-1
-1,1.0
-2,1,2,0.7
-1
-2,1.0
-3,1,2,0.7
-1
-3,1.0
-4,1,2,0.7
-1
-4,1.0
-5,1,2,0.7
-1
-5,1.0
-6,1,2,0.7
-1
-6,1.0
-7,1,2,0.7
-1
-7,1.0
-0,1,2,0.9
-1
-0,1.0
-1,1,2,0.9
-1
-1,1.0
-2,1,2,0.9
-1
-2,1.0
-3,1,2,0.9
-1
-3,1.0
-4,1,2,0.9
-1
-4,1.0
-5,1,2,0.9
-1
-5,1.0
-6,1,2,0.9
-1
-6,1.0
-7,1,2,0.9
-1
-7,1.0
-0,1,3,0.1
-1
-0,1.0
-1,1,3,0.1
-1
-1,1.0
-2,1,3,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,1,3,0.1
-3
-3,0.84664875
-2,0.37628835
-5,0.37628835
-4,1,3,0.1
-3
-4,0.74683726
-5,0.47023085
-6,0.47023085
-5,1,3,0.1
-3
-5,0.74683726
-4,0.47023085
-7,0.47023085
-6,1,3,0.1
-3
-6,0.74683726
-4,0.47023085
-7,0.47023085
-7,1,3,0.1
-3
-7,0.74683726
-5,0.47023085
-6,0.47023085
-0,1,3,0.3
-1
-0,1.0
-1,1,3,0.3
-1
-1,1.0
-2,1,3,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,1,3,0.3
-3
-3,0.92717266
-2,0.26490647
-5,0.26490647
-4,1,3,0.3
-3
-4,0.8035427
-5,0.42090324
-6,0.42090324
-5,1,3,0.3
-3
-5,0.80354273
-4,0.42090327
-7,0.42090327
-6,1,3,0.3
-3
-6,0.80354273
-4,0.42090327
-7,0.42090327
-7,1,3,0.3
-3
-7,0.8035427
-5,0.42090324
-6,0.42090324
-0,1,3,0.5
-1
-0,1.0
-1,1,3,0.5
-1
-1,1.0
-2,1,3,0.5
-1
-2,1.0
-3,1,3,0.5
-1
-3,1.0
-4,1,3,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,1,3,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,1,3,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,1,3,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,1,3,0.7
-1
-0,1.0
-1,1,3,0.7
-1
-1,1.0
-2,1,3,0.7
-1
-2,1.0
-3,1,3,0.7
-1
-3,1.0
-4,1,3,0.7
-1
-4,1.0
-5,1,3,0.7
-1
-5,1.0
-6,1,3,0.7
-1
-6,1.0
-7,1,3,0.7
-1
-7,1.0
-0,1,3,0.9
-1
-0,1.0
-1,1,3,0.9
-1
-1,1.0
-2,1,3,0.9
-1
-2,1.0
-3,1,3,0.9
-1
-3,1.0
-4,1,3,0.9
-1
-4,1.0
-5,1,3,0.9
-1
-5,1.0
-6,1,3,0.9
-1
-6,1.0
-7,1,3,0.9
-1
-7,1.0
-0,1,4,0.1
-1
-0,1.0
-1,1,4,0.1
-1
-1,1.0
-2,1,4,0.1
-4
-2,0.7924058
-3,0.35218036
-4,0.35218036
-5,0.35218036
-3,1,4,0.1
-4
-3,0.79240584
-2,0.3521804
-5,0.3521804
-6,0.3521804
-4,1,4,0.1
-4
-4,0.7088104
-5,0.44628802
-6,0.44628802
-2,0.31502685
-5,1,4,0.1
-4
-5,0.7088104
-4,0.44628802
-7,0.44628802
-2,0.31502685
-6,1,4,0.1
-4
-6,0.7088104
-4,0.44628802
-7,0.44628802
-2,0.31502685
-7,1,4,0.1
-4
-7,0.7088104
-5,0.44628802
-6,0.44628802
-3,0.31502685
-0,1,4,0.3
-1
-0,1.0
-1,1,4,0.3
-1
-1,1.0
-2,1,4,0.3
-4
-2,0.8962582
-3,0.25607374
-4,0.25607374
-5,0.25607374
-3,1,4,0.3
-4
-3,0.8962582
-2,0.25607374
-5,0.25607374
-6,0.25607374
-4,1,4,0.3
-4
-4,0.7831679
-5,0.41023073
-6,0.41023073
-2,0.22376224
-5,1,4,0.3
-4
-5,0.7831679
-4,0.41023073
-7,0.41023073
-2,0.22376224
-6,1,4,0.3
-4
-6,0.7831679
-4,0.41023073
-7,0.41023073
-2,0.22376224
-7,1,4,0.3
-4
-7,0.7831679
-5,0.41023073
-6,0.41023073
-3,0.22376224
-0,1,4,0.5
-1
-0,1.0
-1,1,4,0.5
-1
-1,1.0
-2,1,4,0.5
-1
-2,1.0
-3,1,4,0.5
-1
-3,1.0
-4,1,4,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,1,4,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,1,4,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,1,4,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,1,4,0.7
-1
-0,1.0
-1,1,4,0.7
-1
-1,1.0
-2,1,4,0.7
-1
-2,1.0
-3,1,4,0.7
-1
-3,1.0
-4,1,4,0.7
-1
-4,1.0
-5,1,4,0.7
-1
-5,1.0
-6,1,4,0.7
-1
-6,1.0
-7,1,4,0.7
-1
-7,1.0
-0,1,4,0.9
-1
-0,1.0
-1,1,4,0.9
-1
-1,1.0
-2,1,4,0.9
-1
-2,1.0
-3,1,4,0.9
-1
-3,1.0
-4,1,4,0.9
-1
-4,1.0
-5,1,4,0.9
-1
-5,1.0
-6,1,4,0.9
-1
-6,1.0
-7,1,4,0.9
-1
-7,1.0
-0,1,5,0.1
-1
-0,1.0
-1,1,5,0.1
-1
-1,1.0
-2,1,5,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,1,5,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,1,5,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,1,5,0.1
-5
-5,0.67605716
-4,0.42566562
-7,0.42566562
-2,0.30046988
-3,0.30046988
-6,1,5,0.1
-5
-6,0.67605716
-4,0.42566562
-7,0.42566562
-2,0.30046988
-3,0.30046988
-7,1,5,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,1,5,0.3
-1
-0,1.0
-1,1,5,0.3
-1
-1,1.0
-2,1,5,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,1,5,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,1,5,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,1,5,0.3
-5
-5,0.7642683
-4,0.40033093
-7,0.40033093
-2,0.21836235
-3,0.21836235
-6,1,5,0.3
-5
-6,0.7642683
-4,0.40033093
-7,0.40033093
-2,0.21836235
-3,0.21836235
-7,1,5,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,1,5,0.5
-1
-0,1.0
-1,1,5,0.5
-1
-1,1.0
-2,1,5,0.5
-1
-2,1.0
-3,1,5,0.5
-1
-3,1.0
-4,1,5,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,1,5,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,1,5,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,1,5,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,1,5,0.7
-1
-0,1.0
-1,1,5,0.7
-1
-1,1.0
-2,1,5,0.7
-1
-2,1.0
-3,1,5,0.7
-1
-3,1.0
-4,1,5,0.7
-1
-4,1.0
-5,1,5,0.7
-1
-5,1.0
-6,1,5,0.7
-1
-6,1.0
-7,1,5,0.7
-1
-7,1.0
-0,1,5,0.9
-1
-0,1.0
-1,1,5,0.9
-1
-1,1.0
-2,1,5,0.9
-1
-2,1.0
-3,1,5,0.9
-1
-3,1.0
-4,1,5,0.9
-1
-4,1.0
-5,1,5,0.9
-1
-5,1.0
-6,1,5,0.9
-1
-6,1.0
-7,1,5,0.9
-1
-7,1.0
-0,1,6,0.1
-1
-0,1.0
-1,1,6,0.1
-1
-1,1.0
-2,1,6,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,1,6,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,1,6,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,1,6,0.1
-6
-5,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-6,0.17264226
-6,1,6,0.1
-6
-6,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-5,0.17264226
-7,1,6,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,1,6,0.3
-1
-0,1.0
-1,1,6,0.3
-1
-1,1.0
-2,1,6,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,1,6,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,1,6,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,1,6,0.3
-6
-5,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-6,0.036369618
-6,1,6,0.3
-6
-6,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-5,0.036369618
-7,1,6,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,1,6,0.5
-1
-0,1.0
-1,1,6,0.5
-1
-1,1.0
-2,1,6,0.5
-1
-2,1.0
-3,1,6,0.5
-1
-3,1.0
-4,1,6,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,1,6,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,1,6,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,1,6,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,1,6,0.7
-1
-0,1.0
-1,1,6,0.7
-1
-1,1.0
-2,1,6,0.7
-1
-2,1.0
-3,1,6,0.7
-1
-3,1.0
-4,1,6,0.7
-1
-4,1.0
-5,1,6,0.7
-1
-5,1.0
-6,1,6,0.7
-1
-6,1.0
-7,1,6,0.7
-1
-7,1.0
-0,1,6,0.9
-1
-0,1.0
-1,1,6,0.9
-1
-1,1.0
-2,1,6,0.9
-1
-2,1.0
-3,1,6,0.9
-1
-3,1.0
-4,1,6,0.9
-1
-4,1.0
-5,1,6,0.9
-1
-5,1.0
-6,1,6,0.9
-1
-6,1.0
-7,1,6,0.9
-1
-7,1.0
-0,1,7,0.1
-1
-0,1.0
-1,1,7,0.1
-1
-1,1.0
-2,1,7,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,1,7,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,1,7,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,1,7,0.1
-6
-5,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-6,0.17264226
-6,1,7,0.1
-6
-6,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-5,0.17264226
-7,1,7,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,1,7,0.3
-1
-0,1.0
-1,1,7,0.3
-1
-1,1.0
-2,1,7,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,1,7,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,1,7,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,1,7,0.3
-6
-5,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-6,0.036369618
-6,1,7,0.3
-6
-6,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-5,0.036369618
-7,1,7,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,1,7,0.5
-1
-0,1.0
-1,1,7,0.5
-1
-1,1.0
-2,1,7,0.5
-1
-2,1.0
-3,1,7,0.5
-1
-3,1.0
-4,1,7,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,1,7,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,1,7,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,1,7,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,1,7,0.7
-1
-0,1.0
-1,1,7,0.7
-1
-1,1.0
-2,1,7,0.7
-1
-2,1.0
-3,1,7,0.7
-1
-3,1.0
-4,1,7,0.7
-1
-4,1.0
-5,1,7,0.7
-1
-5,1.0
-6,1,7,0.7
-1
-6,1.0
-7,1,7,0.7
-1
-7,1.0
-0,1,7,0.9
-1
-0,1.0
-1,1,7,0.9
-1
-1,1.0
-2,1,7,0.9
-1
-2,1.0
-3,1,7,0.9
-1
-3,1.0
-4,1,7,0.9
-1
-4,1.0
-5,1,7,0.9
-1
-5,1.0
-6,1,7,0.9
-1
-6,1.0
-7,1,7,0.9
-1
-7,1.0
-0,1,8,0.1
-1
-0,1.0
-1,1,8,0.1
-1
-1,1.0
-2,1,8,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,1,8,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,1,8,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,1,8,0.1
-6
-5,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-6,0.17264226
-6,1,8,0.1
-6
-6,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-5,0.17264226
-7,1,8,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,1,8,0.3
-1
-0,1.0
-1,1,8,0.3
-1
-1,1.0
-2,1,8,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,1,8,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,1,8,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,1,8,0.3
-6
-5,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-6,0.036369618
-6,1,8,0.3
-6
-6,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-5,0.036369618
-7,1,8,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,1,8,0.5
-1
-0,1.0
-1,1,8,0.5
-1
-1,1.0
-2,1,8,0.5
-1
-2,1.0
-3,1,8,0.5
-1
-3,1.0
-4,1,8,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,1,8,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,1,8,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,1,8,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,1,8,0.7
-1
-0,1.0
-1,1,8,0.7
-1
-1,1.0
-2,1,8,0.7
-1
-2,1.0
-3,1,8,0.7
-1
-3,1.0
-4,1,8,0.7
-1
-4,1.0
-5,1,8,0.7
-1
-5,1.0
-6,1,8,0.7
-1
-6,1.0
-7,1,8,0.7
-1
-7,1.0
-0,1,8,0.9
-1
-0,1.0
-1,1,8,0.9
-1
-1,1.0
-2,1,8,0.9
-1
-2,1.0
-3,1,8,0.9
-1
-3,1.0
-4,1,8,0.9
-1
-4,1.0
-5,1,8,0.9
-1
-5,1.0
-6,1,8,0.9
-1
-6,1.0
-7,1,8,0.9
-1
-7,1.0
-0,2,1,0.1
-1
-0,1.0
-1,2,1,0.1
-1
-1,1.0
-2,2,1,0.1
-1
-2,1.0
-3,2,1,0.1
-1
-3,1.0
-4,2,1,0.1
-1
-4,1.0
-5,2,1,0.1
-1
-5,1.0
-6,2,1,0.1
-1
-6,1.0
-7,2,1,0.1
-1
-7,1.0
-0,2,1,0.3
-1
-0,1.0
-1,2,1,0.3
-1
-1,1.0
-2,2,1,0.3
-1
-2,1.0
-3,2,1,0.3
-1
-3,1.0
-4,2,1,0.3
-1
-4,1.0
-5,2,1,0.3
-1
-5,1.0
-6,2,1,0.3
-1
-6,1.0
-7,2,1,0.3
-1
-7,1.0
-0,2,1,0.5
-1
-0,1.0
-1,2,1,0.5
-1
-1,1.0
-2,2,1,0.5
-1
-2,1.0
-3,2,1,0.5
-1
-3,1.0
-4,2,1,0.5
-1
-4,1.0
-5,2,1,0.5
-1
-5,1.0
-6,2,1,0.5
-1
-6,1.0
-7,2,1,0.5
-1
-7,1.0
-0,2,1,0.7
-1
-0,1.0
-1,2,1,0.7
-1
-1,1.0
-2,2,1,0.7
-1
-2,1.0
-3,2,1,0.7
-1
-3,1.0
-4,2,1,0.7
-1
-4,1.0
-5,2,1,0.7
-1
-5,1.0
-6,2,1,0.7
-1
-6,1.0
-7,2,1,0.7
-1
-7,1.0
-0,2,1,0.9
-1
-0,1.0
-1,2,1,0.9
-1
-1,1.0
-2,2,1,0.9
-1
-2,1.0
-3,2,1,0.9
-1
-3,1.0
-4,2,1,0.9
-1
-4,1.0
-5,2,1,0.9
-1
-5,1.0
-6,2,1,0.9
-1
-6,1.0
-7,2,1,0.9
-1
-7,1.0
-0,2,2,0.1
-1
-0,1.0
-1,2,2,0.1
-1
-1,1.0
-2,2,2,0.1
-2
-2,0.91381156
-4,0.4061385
-3,2,2,0.1
-2
-3,0.91381156
-6,0.4061385
-4,2,2,0.1
-2
-4,0.84623283
-5,0.53281325
-5,2,2,0.1
-2
-5,0.84623283
-4,0.53281325
-6,2,2,0.1
-2
-6,0.84623283
-7,0.53281325
-7,2,2,0.1
-2
-7,0.84623283
-6,0.53281325
-0,2,2,0.3
-1
-0,1.0
-1,2,2,0.3
-1
-1,1.0
-2,2,2,0.3
-2
-2,0.96152395
-4,0.27472112
-3,2,2,0.3
-2
-3,0.96152395
-6,0.27472112
-4,2,2,0.3
-2
-4,0.88583153
-5,0.4640069
-5,2,2,0.3
-2
-5,0.88583153
-4,0.4640069
-6,2,2,0.3
-2
-6,0.88583153
-7,0.4640069
-7,2,2,0.3
-2
-7,0.88583153
-6,0.4640069
-0,2,2,0.5
-1
-0,1.0
-1,2,2,0.5
-1
-1,1.0
-2,2,2,0.5
-1
-2,1.0
-3,2,2,0.5
-1
-3,1.0
-4,2,2,0.5
-2
-4,0.9486833
-5,0.3162277
-5,2,2,0.5
-2
-5,0.9486833
-4,0.3162277
-6,2,2,0.5
-2
-6,0.9486833
-7,0.3162277
-7,2,2,0.5
-2
-7,0.9486833
-6,0.3162277
-0,2,2,0.7
-1
-0,1.0
-1,2,2,0.7
-1
-1,1.0
-2,2,2,0.7
-1
-2,1.0
-3,2,2,0.7
-1
-3,1.0
-4,2,2,0.7
-1
-4,1.0
-5,2,2,0.7
-1
-5,1.0
-6,2,2,0.7
-1
-6,1.0
-7,2,2,0.7
-1
-7,1.0
-0,2,2,0.9
-1
-0,1.0
-1,2,2,0.9
-1
-1,1.0
-2,2,2,0.9
-1
-2,1.0
-3,2,2,0.9
-1
-3,1.0
-4,2,2,0.9
-1
-4,1.0
-5,2,2,0.9
-1
-5,1.0
-6,2,2,0.9
-1
-6,1.0
-7,2,2,0.9
-1
-7,1.0
-0,2,3,0.1
-1
-0,1.0
-1,2,3,0.1
-1
-1,1.0
-2,2,3,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,2,3,0.1
-3
-3,0.84664875
-6,0.37628835
-7,0.37628835
-4,2,3,0.1
-3
-4,0.7920648
-5,0.49870744
-2,0.35202882
-5,2,3,0.1
-3
-5,0.7920648
-4,0.49870744
-2,0.35202882
-6,2,3,0.1
-3
-6,0.7920648
-7,0.49870744
-3,0.35202882
-7,2,3,0.1
-3
-7,0.7920648
-6,0.49870744
-3,0.35202882
-0,2,3,0.3
-1
-0,1.0
-1,2,3,0.3
-1
-1,1.0
-2,2,3,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,2,3,0.3
-3
-3,0.92717266
-6,0.26490647
-7,0.26490647
-4,2,3,0.3
-3
-4,0.85875386
-5,0.44982338
-2,0.24535823
-5,2,3,0.3
-3
-5,0.85875386
-4,0.44982338
-2,0.24535823
-6,2,3,0.3
-3
-6,0.85875386
-7,0.44982338
-3,0.24535823
-7,2,3,0.3
-3
-7,0.85875386
-6,0.44982338
-3,0.24535823
-0,2,3,0.5
-1
-0,1.0
-1,2,3,0.5
-1
-1,1.0
-2,2,3,0.5
-1
-2,1.0
-3,2,3,0.5
-1
-3,1.0
-4,2,3,0.5
-2
-4,0.9486833
-5,0.3162277
-5,2,3,0.5
-2
-5,0.9486833
-4,0.3162277
-6,2,3,0.5
-2
-6,0.9486833
-7,0.3162277
-7,2,3,0.5
-2
-7,0.9486833
-6,0.3162277
-0,2,3,0.7
-1
-0,1.0
-1,2,3,0.7
-1
-1,1.0
-2,2,3,0.7
-1
-2,1.0
-3,2,3,0.7
-1
-3,1.0
-4,2,3,0.7
-1
-4,1.0
-5,2,3,0.7
-1
-5,1.0
-6,2,3,0.7
-1
-6,1.0
-7,2,3,0.7
-1
-7,1.0
-0,2,3,0.9
-1
-0,1.0
-1,2,3,0.9
-1
-1,1.0
-2,2,3,0.9
-1
-2,1.0
-3,2,3,0.9
-1
-3,1.0
-4,2,3,0.9
-1
-4,1.0
-5,2,3,0.9
-1
-5,1.0
-6,2,3,0.9
-1
-6,1.0
-7,2,3,0.9
-1
-7,1.0
-0,2,4,0.1
-1
-0,1.0
-1,2,4,0.1
-1
-1,1.0
-2,2,4,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,2,4,0.1
-3
-3,0.84664875
-6,0.37628835
-7,0.37628835
-4,2,4,0.1
-3
-4,0.7920648
-5,0.49870744
-2,0.35202882
-5,2,4,0.1
-3
-5,0.7920648
-4,0.49870744
-2,0.35202882
-6,2,4,0.1
-3
-6,0.7920648
-7,0.49870744
-3,0.35202882
-7,2,4,0.1
-3
-7,0.7920648
-6,0.49870744
-3,0.35202882
-0,2,4,0.3
-1
-0,1.0
-1,2,4,0.3
-1
-1,1.0
-2,2,4,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,2,4,0.3
-3
-3,0.92717266
-6,0.26490647
-7,0.26490647
-4,2,4,0.3
-3
-4,0.85875386
-5,0.44982338
-2,0.24535823
-5,2,4,0.3
-3
-5,0.85875386
-4,0.44982338
-2,0.24535823
-6,2,4,0.3
-3
-6,0.85875386
-7,0.44982338
-3,0.24535823
-7,2,4,0.3
-3
-7,0.85875386
-6,0.44982338
-3,0.24535823
-0,2,4,0.5
-1
-0,1.0
-1,2,4,0.5
-1
-1,1.0
-2,2,4,0.5
-1
-2,1.0
-3,2,4,0.5
-1
-3,1.0
-4,2,4,0.5
-2
-4,0.9486833
-5,0.3162277
-5,2,4,0.5
-2
-5,0.9486833
-4,0.3162277
-6,2,4,0.5
-2
-6,0.9486833
-7,0.3162277
-7,2,4,0.5
-2
-7,0.9486833
-6,0.3162277
-0,2,4,0.7
-1
-0,1.0
-1,2,4,0.7
-1
-1,1.0
-2,2,4,0.7
-1
-2,1.0
-3,2,4,0.7
-1
-3,1.0
-4,2,4,0.7
-1
-4,1.0
-5,2,4,0.7
-1
-5,1.0
-6,2,4,0.7
-1
-6,1.0
-7,2,4,0.7
-1
-7,1.0
-0,2,4,0.9
-1
-0,1.0
-1,2,4,0.9
-1
-1,1.0
-2,2,4,0.9
-1
-2,1.0
-3,2,4,0.9
-1
-3,1.0
-4,2,4,0.9
-1
-4,1.0
-5,2,4,0.9
-1
-5,1.0
-6,2,4,0.9
-1
-6,1.0
-7,2,4,0.9
-1
-7,1.0
-0,2,5,0.1
-1
-0,1.0
-1,2,5,0.1
-1
-1,1.0
-2,2,5,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,2,5,0.1
-3
-3,0.84664875
-6,0.37628835
-7,0.37628835
-4,2,5,0.1
-3
-4,0.7920648
-5,0.49870744
-2,0.35202882
-5,2,5,0.1
-3
-5,0.7920648
-4,0.49870744
-2,0.35202882
-6,2,5,0.1
-3
-6,0.7920648
-7,0.49870744
-3,0.35202882
-7,2,5,0.1
-3
-7,0.7920648
-6,0.49870744
-3,0.35202882
-0,2,5,0.3
-1
-0,1.0
-1,2,5,0.3
-1
-1,1.0
-2,2,5,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,2,5,0.3
-3
-3,0.92717266
-6,0.26490647
-7,0.26490647
-4,2,5,0.3
-3
-4,0.85875386
-5,0.44982338
-2,0.24535823
-5,2,5,0.3
-3
-5,0.85875386
-4,0.44982338
-2,0.24535823
-6,2,5,0.3
-3
-6,0.85875386
-7,0.44982338
-3,0.24535823
-7,2,5,0.3
-3
-7,0.85875386
-6,0.44982338
-3,0.24535823
-0,2,5,0.5
-1
-0,1.0
-1,2,5,0.5
-1
-1,1.0
-2,2,5,0.5
-1
-2,1.0
-3,2,5,0.5
-1
-3,1.0
-4,2,5,0.5
-2
-4,0.9486833
-5,0.3162277
-5,2,5,0.5
-2
-5,0.9486833
-4,0.3162277
-6,2,5,0.5
-2
-6,0.9486833
-7,0.3162277
-7,2,5,0.5
-2
-7,0.9486833
-6,0.3162277
-0,2,5,0.7
-1
-0,1.0
-1,2,5,0.7
-1
-1,1.0
-2,2,5,0.7
-1
-2,1.0
-3,2,5,0.7
-1
-3,1.0
-4,2,5,0.7
-1
-4,1.0
-5,2,5,0.7
-1
-5,1.0
-6,2,5,0.7
-1
-6,1.0
-7,2,5,0.7
-1
-7,1.0
-0,2,5,0.9
-1
-0,1.0
-1,2,5,0.9
-1
-1,1.0
-2,2,5,0.9
-1
-2,1.0
-3,2,5,0.9
-1
-3,1.0
-4,2,5,0.9
-1
-4,1.0
-5,2,5,0.9
-1
-5,1.0
-6,2,5,0.9
-1
-6,1.0
-7,2,5,0.9
-1
-7,1.0
-0,2,6,0.1
-1
-0,1.0
-1,2,6,0.1
-1
-1,1.0
-2,2,6,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,2,6,0.1
-3
-3,0.84664875
-6,0.37628835
-7,0.37628835
-4,2,6,0.1
-3
-4,0.7920648
-5,0.49870744
-2,0.35202882
-5,2,6,0.1
-3
-5,0.7920648
-4,0.49870744
-2,0.35202882
-6,2,6,0.1
-3
-6,0.7920648
-7,0.49870744
-3,0.35202882
-7,2,6,0.1
-3
-7,0.7920648
-6,0.49870744
-3,0.35202882
-0,2,6,0.3
-1
-0,1.0
-1,2,6,0.3
-1
-1,1.0
-2,2,6,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,2,6,0.3
-3
-3,0.92717266
-6,0.26490647
-7,0.26490647
-4,2,6,0.3
-3
-4,0.85875386
-5,0.44982338
-2,0.24535823
-5,2,6,0.3
-3
-5,0.85875386
-4,0.44982338
-2,0.24535823
-6,2,6,0.3
-3
-6,0.85875386
-7,0.44982338
-3,0.24535823
-7,2,6,0.3
-3
-7,0.85875386
-6,0.44982338
-3,0.24535823
-0,2,6,0.5
-1
-0,1.0
-1,2,6,0.5
-1
-1,1.0
-2,2,6,0.5
-1
-2,1.0
-3,2,6,0.5
-1
-3,1.0
-4,2,6,0.5
-2
-4,0.9486833
-5,0.3162277
-5,2,6,0.5
-2
-5,0.9486833
-4,0.3162277
-6,2,6,0.5
-2
-6,0.9486833
-7,0.3162277
-7,2,6,0.5
-2
-7,0.9486833
-6,0.3162277
-0,2,6,0.7
-1
-0,1.0
-1,2,6,0.7
-1
-1,1.0
-2,2,6,0.7
-1
-2,1.0
-3,2,6,0.7
-1
-3,1.0
-4,2,6,0.7
-1
-4,1.0
-5,2,6,0.7
-1
-5,1.0
-6,2,6,0.7
-1
-6,1.0
-7,2,6,0.7
-1
-7,1.0
-0,2,6,0.9
-1
-0,1.0
-1,2,6,0.9
-1
-1,1.0
-2,2,6,0.9
-1
-2,1.0
-3,2,6,0.9
-1
-3,1.0
-4,2,6,0.9
-1
-4,1.0
-5,2,6,0.9
-1
-5,1.0
-6,2,6,0.9
-1
-6,1.0
-7,2,6,0.9
-1
-7,1.0
-0,2,7,0.1
-1
-0,1.0
-1,2,7,0.1
-1
-1,1.0
-2,2,7,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,2,7,0.1
-3
-3,0.84664875
-6,0.37628835
-7,0.37628835
-4,2,7,0.1
-3
-4,0.7920648
-5,0.49870744
-2,0.35202882
-5,2,7,0.1
-3
-5,0.7920648
-4,0.49870744
-2,0.35202882
-6,2,7,0.1
-3
-6,0.7920648
-7,0.49870744
-3,0.35202882
-7,2,7,0.1
-3
-7,0.7920648
-6,0.49870744
-3,0.35202882
-0,2,7,0.3
-1
-0,1.0
-1,2,7,0.3
-1
-1,1.0
-2,2,7,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,2,7,0.3
-3
-3,0.92717266
-6,0.26490647
-7,0.26490647
-4,2,7,0.3
-3
-4,0.85875386
-5,0.44982338
-2,0.24535823
-5,2,7,0.3
-3
-5,0.85875386
-4,0.44982338
-2,0.24535823
-6,2,7,0.3
-3
-6,0.85875386
-7,0.44982338
-3,0.24535823
-7,2,7,0.3
-3
-7,0.85875386
-6,0.44982338
-3,0.24535823
-0,2,7,0.5
-1
-0,1.0
-1,2,7,0.5
-1
-1,1.0
-2,2,7,0.5
-1
-2,1.0
-3,2,7,0.5
-1
-3,1.0
-4,2,7,0.5
-2
-4,0.9486833
-5,0.3162277
-5,2,7,0.5
-2
-5,0.9486833
-4,0.3162277
-6,2,7,0.5
-2
-6,0.9486833
-7,0.3162277
-7,2,7,0.5
-2
-7,0.9486833
-6,0.3162277
-0,2,7,0.7
-1
-0,1.0
-1,2,7,0.7
-1
-1,1.0
-2,2,7,0.7
-1
-2,1.0
-3,2,7,0.7
-1
-3,1.0
-4,2,7,0.7
-1
-4,1.0
-5,2,7,0.7
-1
-5,1.0
-6,2,7,0.7
-1
-6,1.0
-7,2,7,0.7
-1
-7,1.0
-0,2,7,0.9
-1
-0,1.0
-1,2,7,0.9
-1
-1,1.0
-2,2,7,0.9
-1
-2,1.0
-3,2,7,0.9
-1
-3,1.0
-4,2,7,0.9
-1
-4,1.0
-5,2,7,0.9
-1
-5,1.0
-6,2,7,0.9
-1
-6,1.0
-7,2,7,0.9
-1
-7,1.0
-0,2,8,0.1
-1
-0,1.0
-1,2,8,0.1
-1
-1,1.0
-2,2,8,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,2,8,0.1
-3
-3,0.84664875
-6,0.37628835
-7,0.37628835
-4,2,8,0.1
-3
-4,0.7920648
-5,0.49870744
-2,0.35202882
-5,2,8,0.1
-3
-5,0.7920648
-4,0.49870744
-2,0.35202882
-6,2,8,0.1
-3
-6,0.7920648
-7,0.49870744
-3,0.35202882
-7,2,8,0.1
-3
-7,0.7920648
-6,0.49870744
-3,0.35202882
-0,2,8,0.3
-1
-0,1.0
-1,2,8,0.3
-1
-1,1.0
-2,2,8,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,2,8,0.3
-3
-3,0.92717266
-6,0.26490647
-7,0.26490647
-4,2,8,0.3
-3
-4,0.85875386
-5,0.44982338
-2,0.24535823
-5,2,8,0.3
-3
-5,0.85875386
-4,0.44982338
-2,0.24535823
-6,2,8,0.3
-3
-6,0.85875386
-7,0.44982338
-3,0.24535823
-7,2,8,0.3
-3
-7,0.85875386
-6,0.44982338
-3,0.24535823
-0,2,8,0.5
-1
-0,1.0
-1,2,8,0.5
-1
-1,1.0
-2,2,8,0.5
-1
-2,1.0
-3,2,8,0.5
-1
-3,1.0
-4,2,8,0.5
-2
-4,0.9486833
-5,0.3162277
-5,2,8,0.5
-2
-5,0.9486833
-4,0.3162277
-6,2,8,0.5
-2
-6,0.9486833
-7,0.3162277
-7,2,8,0.5
-2
-7,0.9486833
-6,0.3162277
-0,2,8,0.7
-1
-0,1.0
-1,2,8,0.7
-1
-1,1.0
-2,2,8,0.7
-1
-2,1.0
-3,2,8,0.7
-1
-3,1.0
-4,2,8,0.7
-1
-4,1.0
-5,2,8,0.7
-1
-5,1.0
-6,2,8,0.7
-1
-6,1.0
-7,2,8,0.7
-1
-7,1.0
-0,2,8,0.9
-1
-0,1.0
-1,2,8,0.9
-1
-1,1.0
-2,2,8,0.9
-1
-2,1.0
-3,2,8,0.9
-1
-3,1.0
-4,2,8,0.9
-1
-4,1.0
-5,2,8,0.9
-1
-5,1.0
-6,2,8,0.9
-1
-6,1.0
-7,2,8,0.9
-1
-7,1.0
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/Lucene.Net.Tests.Sandbox/packages.config
----------------------------------------------------------------------
diff --git a/Lucene.Net.Tests.Sandbox/packages.config b/Lucene.Net.Tests.Sandbox/packages.config
deleted file mode 100644
index 139d513..0000000
--- a/Lucene.Net.Tests.Sandbox/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-\ufeff<?xml version="1.0" encoding="utf-8"?>
-<packages>
- <package id="NUnit" version="2.6.3" targetFramework="net451" />
-</packages>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/Lucene.Net.sln
----------------------------------------------------------------------
diff --git a/Lucene.Net.sln b/Lucene.Net.sln
index 5a460ce..e044692 100644
--- a/Lucene.Net.sln
+++ b/Lucene.Net.sln
@@ -74,9 +74,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Spatial", "src\L
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Tests.Spatial", "src\Lucene.Net.Tests.Spatial\Lucene.Net.Tests.Spatial.csproj", "{31F52F5C-A08F-4363-8003-23D6F7D6EB3A}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Sandbox", "Lucene.Net.Sandbox\Lucene.Net.Sandbox.csproj", "{13274BA9-9052-4354-8FFE-E3F32593368F}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Sandbox", "src\Lucene.Net.Sandbox\Lucene.Net.Sandbox.csproj", "{13274BA9-9052-4354-8FFE-E3F32593368F}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Tests.Sandbox", "Lucene.Net.Tests.Sandbox\Lucene.Net.Tests.Sandbox.csproj", "{7865CBC8-2C6B-462C-ACF5-B2C4D60D93C9}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Tests.Sandbox", "src\Lucene.Net.Tests.Sandbox\Lucene.Net.Tests.Sandbox.csproj", "{7865CBC8-2C6B-462C-ACF5-B2C4D60D93C9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
index bee959e..4644ef6 100644
--- a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
+++ b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
@@ -254,10 +254,6 @@
<Compile Include="Xml\QueryTemplateManager.cs" />
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\..\Lucene.Net.Sandbox\Lucene.Net.Sandbox.csproj">
- <Project>{13274BA9-9052-4354-8FFE-E3F32593368F}</Project>
- <Name>Lucene.Net.Sandbox</Name>
- </ProjectReference>
<ProjectReference Include="..\Lucene.Net.Analysis.Common\Lucene.Net.Analysis.Common.csproj">
<Project>{4add0bbc-b900-4715-9526-d871de8eea64}</Project>
<Name>Lucene.Net.Analysis.Common</Name>
@@ -270,6 +266,10 @@
<Project>{69d7956c-c2cc-4708-b399-a188fec384c4}</Project>
<Name>Lucene.Net.Queries</Name>
</ProjectReference>
+ <ProjectReference Include="..\Lucene.Net.Sandbox\Lucene.Net.Sandbox.csproj">
+ <Project>{13274ba9-9052-4354-8ffe-e3f32593368f}</Project>
+ <Name>Lucene.Net.Sandbox</Name>
+ </ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Flexible\Core\Messages\QueryParserMessagesBundle.resx">
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj b/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
new file mode 100644
index 0000000..2be4452
--- /dev/null
+++ b/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
@@ -0,0 +1,65 @@
+\ufeff<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{13274BA9-9052-4354-8FFE-E3F32593368F}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Lucene.Net.Sandbox</RootNamespace>
+ <AssemblyName>Lucene.Net.Sandbox</AssemblyName>
+ <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Queries\DuplicateFilter.cs" />
+ <Compile Include="Queries\FuzzyLikeThisQuery.cs" />
+ <Compile Include="Queries\SlowFuzzyQuery.cs" />
+ <Compile Include="Queries\SlowFuzzyTermsEnum.cs" />
+ <Compile Include="Queries\SortedSetSortField.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Lucene.Net.Core\Lucene.Net.csproj">
+ <Project>{5D4AD9BE-1FFB-41AB-9943-25737971BF57}</Project>
+ <Name>Lucene.Net</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs b/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..de4e151
--- /dev/null
+++ b/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+\ufeffusing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Lucene.Net.Sandbox")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Lucene.Net.Sandbox")]
+[assembly: AssemblyCopyright("Copyright � 2016")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("13274ba9-9052-4354-8ffe-e3f32593368f")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/src/Lucene.Net.Sandbox/Queries/DuplicateFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Sandbox/Queries/DuplicateFilter.cs b/src/Lucene.Net.Sandbox/Queries/DuplicateFilter.cs
new file mode 100644
index 0000000..0b93138
--- /dev/null
+++ b/src/Lucene.Net.Sandbox/Queries/DuplicateFilter.cs
@@ -0,0 +1,265 @@
+\ufeffusing Lucene.Net.Index;
+using Lucene.Net.Search;
+using Lucene.Net.Util;
+
+namespace Lucene.Net.Sandbox.Queries
+{
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ /// <summary>
+ /// Filter to remove duplicate values from search results.
+ /// <para/>
+ /// WARNING: for this to work correctly, you may have to wrap
+ /// your reader as it cannot current deduplicate across different
+ /// index segments.
+ /// </summary>
+ /// <seealso cref="SlowCompositeReaderWrapper"/>
+ public class DuplicateFilter : Filter
+ {
+ // TODO: make duplicate filter aware of ReaderContext such that we can
+ // filter duplicates across segments
+
+ // LUCENENET NOTE: KeepMode enum moved outside of this class to avoid naming collisions
+
+ private KeepMode keepMode;
+
+ // LUCENENET NOTE: ProcessingMode enum moved outside of this class to avoid naming collisions
+
+ private ProcessingMode processingMode;
+
+ private string fieldName;
+
+ public DuplicateFilter(string fieldName)
+ : this(fieldName, KeepMode.KM_USE_LAST_OCCURRENCE, ProcessingMode.PM_FULL_VALIDATION)
+ {
+ }
+
+ public DuplicateFilter(string fieldName, KeepMode keepMode, ProcessingMode processingMode)
+ {
+ this.fieldName = fieldName;
+ this.keepMode = keepMode;
+ this.processingMode = processingMode;
+ }
+
+
+ public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
+ {
+ if (processingMode == ProcessingMode.PM_FAST_INVALIDATION)
+ {
+ return FastBits(context.AtomicReader, acceptDocs);
+ }
+ else
+ {
+ return CorrectBits(context.AtomicReader, acceptDocs);
+ }
+ }
+
+ private FixedBitSet CorrectBits(AtomicReader reader, Bits acceptDocs)
+ {
+ FixedBitSet bits = new FixedBitSet(reader.MaxDoc); //assume all are INvalid
+ Terms terms = reader.Fields.Terms(fieldName);
+
+ if (terms == null)
+ {
+ return bits;
+ }
+
+ TermsEnum termsEnum = terms.Iterator(null);
+ DocsEnum docs = null;
+ while (true)
+ {
+ BytesRef currTerm = termsEnum.Next();
+ if (currTerm == null)
+ {
+ break;
+ }
+ else
+ {
+ docs = termsEnum.Docs(acceptDocs, docs, DocsEnum.FLAG_NONE);
+ int doc = docs.NextDoc();
+ if (doc != DocIdSetIterator.NO_MORE_DOCS)
+ {
+ if (keepMode == KeepMode.KM_USE_FIRST_OCCURRENCE)
+ {
+ bits.Set(doc);
+ }
+ else
+ {
+ int lastDoc = doc;
+ while (true)
+ {
+ lastDoc = doc;
+ doc = docs.NextDoc();
+ if (doc == DocIdSetIterator.NO_MORE_DOCS)
+ {
+ break;
+ }
+ }
+ bits.Set(lastDoc);
+ }
+ }
+ }
+ }
+ return bits;
+ }
+
+ private FixedBitSet FastBits(AtomicReader reader, Bits acceptDocs)
+ {
+ FixedBitSet bits = new FixedBitSet(reader.MaxDoc);
+ bits.Set(0, reader.MaxDoc); //assume all are valid
+ Terms terms = reader.Fields.Terms(fieldName);
+
+ if (terms == null)
+ {
+ return bits;
+ }
+
+ TermsEnum termsEnum = terms.Iterator(null);
+ DocsEnum docs = null;
+ while (true)
+ {
+ BytesRef currTerm = termsEnum.Next();
+ if (currTerm == null)
+ {
+ break;
+ }
+ else
+ {
+ if (termsEnum.DocFreq() > 1)
+ {
+ // unset potential duplicates
+ docs = termsEnum.Docs(acceptDocs, docs, DocsEnum.FLAG_NONE);
+ int doc = docs.NextDoc();
+ if (doc != DocIdSetIterator.NO_MORE_DOCS)
+ {
+ if (keepMode == KeepMode.KM_USE_FIRST_OCCURRENCE)
+ {
+ doc = docs.NextDoc();
+ }
+ }
+
+ int lastDoc = -1;
+ while (true)
+ {
+ lastDoc = doc;
+ bits.Clear(lastDoc);
+ doc = docs.NextDoc();
+ if (doc == DocIdSetIterator.NO_MORE_DOCS)
+ {
+ break;
+ }
+ }
+
+ if (keepMode == KeepMode.KM_USE_LAST_OCCURRENCE)
+ {
+ // restore the last bit
+ bits.Set(lastDoc);
+ }
+ }
+ }
+ }
+
+ return bits;
+ }
+
+ public virtual string FieldName
+ {
+ get { return fieldName; }
+ set { this.fieldName = value; }
+ }
+
+ public KeepMode KeepMode
+ {
+ get { return keepMode; }
+ set { keepMode = value; }
+ }
+
+
+ public override bool Equals(object obj)
+ {
+ if (this == obj)
+ {
+ return true;
+ }
+ if ((obj == null) || (obj.GetType() != this.GetType()))
+ {
+ return false;
+ }
+
+ DuplicateFilter other = (DuplicateFilter)obj;
+ return keepMode == other.keepMode &&
+ processingMode == other.processingMode &&
+ fieldName != null && fieldName.Equals(other.fieldName);
+ }
+
+
+ public override int GetHashCode()
+ {
+ int hash = 217;
+ hash = 31 * hash + keepMode.GetHashCode();
+ hash = 31 * hash + processingMode.GetHashCode();
+ hash = 31 * hash + fieldName.GetHashCode();
+ return hash;
+ }
+
+ public ProcessingMode ProcessingMode
+ {
+ get { return processingMode; }
+ set { processingMode = value; }
+ }
+ }
+
+ /// <summary>
+ /// KeepMode determines which document id to consider as the master, all others being
+ /// identified as duplicates. Selecting the "first occurrence" can potentially save on IO.
+ /// </summary>
+ public enum KeepMode
+ {
+ KM_USE_FIRST_OCCURRENCE,
+
+ KM_USE_LAST_OCCURRENCE
+ }
+
+ /// <summary>
+ /// "Full" processing mode starts by setting all bits to false and only setting bits
+ /// for documents that contain the given field and are identified as none-duplicates.
+ /// <para/>
+ /// "Fast" processing sets all bits to true then unsets all duplicate docs found for the
+ /// given field. This approach avoids the need to read DocsEnum for terms that are seen
+ /// to have a document frequency of exactly "1" (i.e. no duplicates). While a potentially
+ /// faster approach , the downside is that bitsets produced will include bits set for
+ /// documents that do not actually contain the field given.
+ /// </summary>
+ public enum ProcessingMode
+ {
+ /// <summary>
+ /// "Full" processing mode starts by setting all bits to false and only setting bits
+ /// for documents that contain the given field and are identified as none-duplicates.
+ /// </summary>
+ PM_FULL_VALIDATION,
+
+ /// <summary>
+ /// "Fast" processing sets all bits to true then unsets all duplicate docs found for the
+ /// given field. This approach avoids the need to read DocsEnum for terms that are seen
+ /// to have a document frequency of exactly "1" (i.e. no duplicates). While a potentially
+ /// faster approach , the downside is that bitsets produced will include bits set for
+ /// documents that do not actually contain the field given.
+ /// </summary>
+ PM_FAST_INVALIDATION
+ }
+}