You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by cc...@apache.org on 2011/11/23 07:56:08 UTC
[Lucene.Net] svn commit: r1205304 - in
/incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries:
BooleanFilterTest.cs DuplicateFilterTest.cs FuzzyLikeThisQueryTest.cs
Similar/TestMoreLikeThis.cs TermsFilterTest.cs
Author: ccurrens
Date: Wed Nov 23 06:56:07 2011
New Revision: 1205304
URL: http://svn.apache.org/viewvc?rev=1205304&view=rev
Log:
Ported tests for Contrib.Queries
Modified:
incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/BooleanFilterTest.cs
incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/DuplicateFilterTest.cs
incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/FuzzyLikeThisQueryTest.cs
incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/Similar/TestMoreLikeThis.cs
incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/TermsFilterTest.cs
Modified: incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/BooleanFilterTest.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/BooleanFilterTest.cs?rev=1205304&r1=1205303&r2=1205304&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/BooleanFilterTest.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/BooleanFilterTest.cs Wed Nov 23 06:56:07 2011
@@ -1,7 +1,7 @@
/**
* 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.
+ * 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
@@ -30,23 +30,17 @@ using NUnit.Framework;
namespace Lucene.Net.Search
{
- /// <summary>
- /// Summary description for UnitTest1
- /// </summary>
[TestFixture]
- public class BooleanFilterTest
+ public class BooleanFilterTest : TestCase
{
- public BooleanFilterTest() { }
-
+ private RAMDirectory directory;
private IndexReader reader;
- #region setup/teardown methods
-
[SetUp]
- public void MyTestInitialize()
+ protected void SetUp()
{
- RAMDirectory directory = new RAMDirectory();
- IndexWriter writer = new IndexWriter(directory, new WhitespaceAnalyzer(), true, IndexWriter.MaxFieldLength.LIMITED);
+ directory = new RAMDirectory();
+ IndexWriter writer = new IndexWriter(directory, new WhitespaceAnalyzer(), true, IndexWriter.MaxFieldLength.UNLIMITED);
//Add series of docs with filterable fields : acces rights, prices, dates and "in-stock" flags
AddDoc(writer, "admin guest", "010", "20040101", "Y");
@@ -58,264 +52,127 @@ namespace Lucene.Net.Search
writer.Close();
reader = IndexReader.Open(directory, true);
}
-
- [TearDown]
- public void MyTestCleanup()
- {
- if (this.reader != null)
- {
- this.reader.Close();
- this.reader = null;
- }
- }
-
- #endregion
-
- [Test]
- public void Should_Test()
+ private void AddDoc(IndexWriter writer, String accessRights, String price, String date, String inStock)
{
- for (int i = 0; i < 2; i++)
- {
- bool old = (i == 0);
-
- BooleanFilter booleanFilter = new BooleanFilter();
- booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("price", "030", old), BooleanClause.Occur.SHOULD));
- TstFilterCard("Should retrieves only 1 doc", 1, booleanFilter);
- }
+ Document doc = new Document();
+ doc.Add(new Field("accessRights", accessRights, Field.Store.YES, Field.Index.ANALYZED));
+ doc.Add(new Field("price", price, Field.Store.YES, Field.Index.ANALYZED));
+ doc.Add(new Field("date", date, Field.Store.YES, Field.Index.ANALYZED));
+ doc.Add(new Field("inStock", inStock, Field.Store.YES, Field.Index.ANALYZED));
+ writer.AddDocument(doc);
}
- [Test]
- public void Shoulds_Test()
+ private Filter GetRangeFilter(String field, String lowerPrice, String upperPrice)
{
- for (int i = 0; i < 2; i++)
- {
- bool old = (i == 0);
-
- BooleanFilter booleanFilter = new BooleanFilter();
- booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "010", "020", old), BooleanClause.Occur.SHOULD));
- booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "020", "030", old), BooleanClause.Occur.SHOULD));
- TstFilterCard("Shoulds are Ored together", 5, booleanFilter);
- }
+ Filter f = new TermRangeFilter(field, lowerPrice, upperPrice, true, true);
+ return f;
}
- [Test]
- public void ShouldsAndMustNot_Test()
+ private Filter GetTermsFilter(String field, String text)
{
- for (int i = 0; i < 2; i++)
- {
- bool old = (i == 0);
-
- BooleanFilter booleanFilter = new BooleanFilter();
- booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "010", "020", old), BooleanClause.Occur.SHOULD));
- booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "020", "030", old), BooleanClause.Occur.SHOULD));
- booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", old), BooleanClause.Occur.MUST_NOT));
- TstFilterCard("Shoulds Ored but AndNot", 4, booleanFilter);
-
- booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("inStock", "Maybe", old), BooleanClause.Occur.MUST_NOT));
- TstFilterCard("Shoulds Ored but AndNots", 3, booleanFilter);
- }
+ TermsFilter tf = new TermsFilter();
+ tf.AddTerm(new Term(field, text));
+ return tf;
}
- [Test]
- public void ShouldsAndMust_Test()
+ private void TstFilterCard(String mes, int expected, Filter filt)
{
- for (int i = 0; i < 2; i++)
+ DocIdSetIterator disi = filt.GetDocIdSet(reader).Iterator();
+ int actual = 0;
+ while (disi.NextDoc() != DocIdSetIterator.NO_MORE_DOCS)
{
- bool old = (i == 0);
-
- BooleanFilter booleanFilter = new BooleanFilter();
- booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "010", "020", old), BooleanClause.Occur.SHOULD));
- booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "020", "030", old), BooleanClause.Occur.SHOULD));
- booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("accessRights", "admin", old), BooleanClause.Occur.MUST));
- TstFilterCard("Shoulds Ored but MUST", 3, booleanFilter);
+ actual++;
}
+ Assert.AreEqual(expected, actual, mes);
}
[Test]
- public void ShouldsAndMusts_Test()
+ public void TestShould()
{
- for (int i = 0; i < 2; i++)
- {
- bool old = (i == 0);
-
- BooleanFilter booleanFilter = new BooleanFilter();
- booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "010", "020", old), BooleanClause.Occur.SHOULD));
- booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "020", "030", old), BooleanClause.Occur.SHOULD));
- booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("accessRights", "admin", old), BooleanClause.Occur.MUST));
- booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("date", "20040101", "20041231", old), BooleanClause.Occur.MUST));
- TstFilterCard("Shoulds Ored but MUSTs ANDED", 1, booleanFilter);
- }
+ BooleanFilter booleanFilter = new BooleanFilter();
+ booleanFilter.Add(new FilterClause(GetTermsFilter("price", "030"), BooleanClause.Occur.SHOULD));
+ TstFilterCard("Should retrieves only 1 doc", 1, booleanFilter);
}
[Test]
- public void ShouldsAndMustsAndMustNot_Test()
+ public void TestShoulds()
{
- for (int i = 0; i < 2; i++)
- {
- bool old = (i == 0);
-
- BooleanFilter booleanFilter = new BooleanFilter();
- booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "030", "040", old), BooleanClause.Occur.SHOULD));
- booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("accessRights", "admin", old), BooleanClause.Occur.MUST));
- booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("date", "20050101", "20051231", old), BooleanClause.Occur.MUST));
- booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", old), BooleanClause.Occur.MUST_NOT));
- TstFilterCard("Shoulds Ored but MUSTs ANDED and MustNot", 0, booleanFilter);
- }
+ BooleanFilter booleanFilter = new BooleanFilter();
+ booleanFilter.Add(new FilterClause(GetRangeFilter("price", "010", "020"), BooleanClause.Occur.SHOULD));
+ booleanFilter.Add(new FilterClause(GetRangeFilter("price", "020", "030"), BooleanClause.Occur.SHOULD));
+ TstFilterCard("Shoulds are Ored together", 5, booleanFilter);
}
[Test]
- public void JustMust_Test()
+ public void TestShouldsAndMustNot()
{
- for (int i = 0; i < 2; i++)
- {
- bool old = (i == 0);
+ BooleanFilter booleanFilter = new BooleanFilter();
+ booleanFilter.Add(new FilterClause(GetRangeFilter("price", "010", "020"), BooleanClause.Occur.SHOULD));
+ booleanFilter.Add(new FilterClause(GetRangeFilter("price", "020", "030"), BooleanClause.Occur.SHOULD));
+ booleanFilter.Add(new FilterClause(GetTermsFilter("inStock", "N"), BooleanClause.Occur.MUST_NOT));
+ TstFilterCard("Shoulds Ored but AndNot", 4, booleanFilter);
- BooleanFilter booleanFilter = new BooleanFilter();
- booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("accessRights", "admin", old), BooleanClause.Occur.MUST));
- TstFilterCard("MUST", 3, booleanFilter);
- }
+ booleanFilter.Add(new FilterClause(GetTermsFilter("inStock", "Maybe"), BooleanClause.Occur.MUST_NOT));
+ TstFilterCard("Shoulds Ored but AndNots", 3, booleanFilter);
}
[Test]
- public void JustMustNot_Test()
+ public void TestShouldsAndMust()
{
- for (int i = 0; i < 2; i++)
- {
- bool old = (i == 0);
-
- BooleanFilter booleanFilter = new BooleanFilter();
- booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", old), BooleanClause.Occur.MUST_NOT));
- TstFilterCard("MUST_NOT", 4, booleanFilter);
- }
+ BooleanFilter booleanFilter = new BooleanFilter();
+ booleanFilter.Add(new FilterClause(GetRangeFilter("price", "010", "020"), BooleanClause.Occur.SHOULD));
+ booleanFilter.Add(new FilterClause(GetRangeFilter("price", "020", "030"), BooleanClause.Occur.SHOULD));
+ booleanFilter.Add(new FilterClause(GetTermsFilter("accessRights", "admin"), BooleanClause.Occur.MUST));
+ TstFilterCard("Shoulds Ored but MUST", 3, booleanFilter);
}
[Test]
- public void MustAndMustNot_Test()
+ public void TestShouldsAndMusts()
{
- for (int i = 0; i < 2; i++)
- {
- bool old = (i == 0);
-
- BooleanFilter booleanFilter = new BooleanFilter();
- booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", old), BooleanClause.Occur.MUST));
- booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("price", "030", old), BooleanClause.Occur.MUST_NOT));
- TstFilterCard("MUST_NOT wins over MUST for same docs", 0, booleanFilter);
- }
+ BooleanFilter booleanFilter = new BooleanFilter();
+ booleanFilter.Add(new FilterClause(GetRangeFilter("price", "010", "020"), BooleanClause.Occur.SHOULD));
+ booleanFilter.Add(new FilterClause(GetRangeFilter("price", "020", "030"), BooleanClause.Occur.SHOULD));
+ booleanFilter.Add(new FilterClause(GetTermsFilter("accessRights", "admin"), BooleanClause.Occur.MUST));
+ booleanFilter.Add(new FilterClause(GetRangeFilter("date", "20040101", "20041231"), BooleanClause.Occur.MUST));
+ TstFilterCard("Shoulds Ored but MUSTs ANDED", 1, booleanFilter);
}
[Test]
- public void HashEquality()
+ public void TestShouldsAndMustsAndMustNot()
{
- BooleanFilter a = new BooleanFilter();
- a.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", false), BooleanClause.Occur.MUST));
- a.Add(new BooleanFilterClause(GetTermsFilter("price", "030", false), BooleanClause.Occur.MUST_NOT));
-
- BooleanFilter b = new BooleanFilter();
- b.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", false), BooleanClause.Occur.MUST));
- b.Add(new BooleanFilterClause(GetTermsFilter("price", "030", false), BooleanClause.Occur.MUST_NOT));
-
- Assert.AreEqual(a.GetHashCode(), b.GetHashCode(), "Hashes do not match");
+ BooleanFilter booleanFilter = new BooleanFilter();
+ booleanFilter.Add(new FilterClause(GetRangeFilter("price", "030", "040"), BooleanClause.Occur.SHOULD));
+ booleanFilter.Add(new FilterClause(GetTermsFilter("accessRights", "admin"), BooleanClause.Occur.MUST));
+ booleanFilter.Add(new FilterClause(GetRangeFilter("date", "20050101", "20051231"), BooleanClause.Occur.MUST));
+ booleanFilter.Add(new FilterClause(GetTermsFilter("inStock", "N"), BooleanClause.Occur.MUST_NOT));
+ TstFilterCard("Shoulds Ored but MUSTs ANDED and MustNot", 0, booleanFilter);
}
[Test]
- public void ToString_Test()
+ public void TestJustMust()
{
- BooleanFilter b = new BooleanFilter();
- b.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", false), BooleanClause.Occur.MUST));
- b.Add(new BooleanFilterClause(GetTermsFilter("price", "030", false), BooleanClause.Occur.MUST_NOT));
- b.Add(new BooleanFilterClause(GetRangeFilter("price", "030", "040", false), BooleanClause.Occur.SHOULD));
-
- Assert.AreEqual("BooleanFilter( price:[030 TO 040] +( inStock:N ) -( price:030 ))", b.ToString());
+ BooleanFilter booleanFilter = new BooleanFilter();
+ booleanFilter.Add(new FilterClause(GetTermsFilter("accessRights", "admin"), BooleanClause.Occur.MUST));
+ TstFilterCard("MUST", 3, booleanFilter);
}
[Test]
- [ExpectedException(typeof(NotSupportedException))]
- public void ExOnBits_Test()
+ public void TestJustMustNot()
{
- BooleanFilter b = new BooleanFilter();
- b.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", false), BooleanClause.Occur.MUST));
- b.Add(new BooleanFilterClause(GetTermsFilter("price", "030", false), BooleanClause.Occur.MUST_NOT));
- b.Add(new BooleanFilterClause(GetRangeFilter("price", "030", "040", false), BooleanClause.Occur.SHOULD));
-
- BitArray bits = b.Bits(this.reader);
- }
-
- #region helpers
-
- private void AddDoc(IndexWriter writer, String accessRights, String price, String date, String inStock)
- {
- Document doc = new Document();
- doc.Add(new Field("accessRights", accessRights, Field.Store.YES, Field.Index.ANALYZED));
- doc.Add(new Field("price", price, Field.Store.YES, Field.Index.ANALYZED));
- doc.Add(new Field("date", date, Field.Store.YES, Field.Index.ANALYZED));
- doc.Add(new Field("inStock", inStock, Field.Store.YES, Field.Index.ANALYZED));
- writer.AddDocument(doc);
+ BooleanFilter booleanFilter = new BooleanFilter();
+ booleanFilter.Add(new FilterClause(GetTermsFilter("inStock", "N"), BooleanClause.Occur.MUST_NOT));
+ TstFilterCard("MUST_NOT", 4, booleanFilter);
}
- private Filter GetOldBitSetFilter(Filter filter)
- {
- return new MockBooleanFilter(filter);
- }
-
- private Filter GetRangeFilter(String field, String lowerPrice, String upperPrice, bool old)
- {
- Filter f = new TermRangeFilter(field, lowerPrice, upperPrice, true, true);
- if (old)
- {
- return GetOldBitSetFilter(f);
- }
-
- return f;
- }
-
- private Filter GetTermsFilter(String field, String text, bool old)
- {
- TermsFilter tf = new TermsFilter();
- tf.AddTerm(new Term(field, text));
- if (old)
- {
- return GetOldBitSetFilter(tf);
- }
-
- return tf;
- }
-
- private void TstFilterCard(String mes, int expected, Filter filt)
- {
- DocIdSetIterator disi = filt.GetDocIdSet(reader).Iterator();
- int actual = 0;
- while (disi.NextDoc() != DocIdSetIterator.NO_MORE_DOCS)
- {
- actual++;
- }
- Assert.AreEqual(expected, actual, mes);
- }
-
- #endregion
- }
-
- public class MockBooleanFilter : Filter
- {
- private Filter filter;
-
- public MockBooleanFilter(Filter f)
- {
- this.filter = f;
- }
-
- [Obsolete]
- public override BitArray Bits(IndexReader reader)
+ [Test]
+ public void TestMustAndMustNot()
{
- BitArray bits = new BitArray(reader.MaxDoc());
- DocIdSetIterator it = filter.GetDocIdSet(reader).Iterator();
- int doc = DocIdSetIterator.NO_MORE_DOCS;
- while ((doc = it.NextDoc()) != DocIdSetIterator.NO_MORE_DOCS)
- {
- bits.Set(doc, true);
- }
- return bits;
+ BooleanFilter booleanFilter = new BooleanFilter();
+ booleanFilter.Add(new FilterClause(GetTermsFilter("inStock", "N"), BooleanClause.Occur.MUST));
+ booleanFilter.Add(new FilterClause(GetTermsFilter("price", "030"), BooleanClause.Occur.MUST_NOT));
+ TstFilterCard("MUST_NOT wins over MUST for same docs", 0, booleanFilter);
}
}
}
Modified: incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/DuplicateFilterTest.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/DuplicateFilterTest.cs?rev=1205304&r1=1205303&r2=1205304&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/DuplicateFilterTest.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/DuplicateFilterTest.cs Wed Nov 23 06:56:07 2011
@@ -44,7 +44,7 @@ namespace Lucene.Net.Search
public void SetUp()
{
directory = new RAMDirectory();
- IndexWriter writer = new IndexWriter(directory, new StandardAnalyzer(), true);
+ IndexWriter writer = new IndexWriter(directory, new StandardAnalyzer(Util.Version.LUCENE_CURRENT), true, IndexWriter.MaxFieldLength.UNLIMITED);
//Add series of docs with filterable fields : url, text and dates flags
AddDoc(writer, "http://lucene.apache.org", "lucene 1.4.3 available", "20040101");
@@ -84,10 +84,10 @@ namespace Lucene.Net.Search
{
DuplicateFilter df = new DuplicateFilter(KEY_FIELD);
Hashtable results = new Hashtable();
- Hits h = searcher.Search(tq, df);
- for (int i = 0; i < h.Length(); i++)
+ var h = searcher.Search(tq, df, 1000).ScoreDocs;
+ for (int i = 0; i < h.Length; i++)
{
- Document d = h.Doc(i);
+ Document d = searcher.Doc(h[i].doc);
String url = d.Get(KEY_FIELD);
Assert.IsFalse(results.Contains(url), "No duplicate urls should be returned");
results.Add(url,url);
@@ -98,12 +98,12 @@ namespace Lucene.Net.Search
public void TestNoFilter()
{
Hashtable results = new Hashtable();
- Hits h = searcher.Search(tq);
- Assert.IsTrue(h.Length() > 0, "Default searching should have found some matches");
+ ScoreDoc[] h = searcher.Search(tq, null, 1000).ScoreDocs;
+ Assert.IsTrue(h.Length > 0, "Default searching should have found some matches");
bool dupsFound = false;
- for (int i = 0; i < h.Length(); i++)
+ for (int i = 0; i < h.Length; i++)
{
- Document d = h.Doc(i);
+ Document d = searcher.Doc(h[i].doc);
String url = d.Get(KEY_FIELD);
if (!dupsFound)
dupsFound = results.Contains(url);
@@ -118,11 +118,11 @@ namespace Lucene.Net.Search
DuplicateFilter df = new DuplicateFilter(KEY_FIELD);
df.SetProcessingMode(DuplicateFilter.PM_FAST_INVALIDATION);
Hashtable results = new Hashtable();
- Hits h = searcher.Search(tq, df);
- Assert.IsTrue(h.Length() > 0, "Filtered searching should have found some matches");
- for (int i = 0; i < h.Length(); i++)
+ ScoreDoc[] h = searcher.Search(tq, df, 1000).ScoreDocs;
+ Assert.IsTrue(h.Length > 0, "Filtered searching should have found some matches");
+ for (int i = 0; i < h.Length; i++)
{
- Document d = h.Doc(i);
+ Document d = searcher.Doc(h[i].doc);
String url = d.Get(KEY_FIELD);
Assert.IsFalse(results.Contains(url), "No duplicate urls should be returned");
results.Add(url,url);
@@ -135,11 +135,11 @@ namespace Lucene.Net.Search
{
DuplicateFilter df = new DuplicateFilter(KEY_FIELD);
df.SetKeepMode(DuplicateFilter.KM_USE_LAST_OCCURRENCE);
- Hits h = searcher.Search(tq, df);
- Assert.IsTrue(h.Length() > 0, "Filtered searching should have found some matches");
- for (int i = 0; i < h.Length(); i++)
+ ScoreDoc[] h = searcher.Search(tq, df, 1000).ScoreDocs;
+ Assert.IsTrue(h.Length > 0, "Filtered searching should have found some matches");
+ for (int i = 0; i < h.Length; i++)
{
- Document d = h.Doc(i);
+ Document d = searcher.Doc(h[i].doc);
String url = d.Get(KEY_FIELD);
TermDocs td = reader.TermDocs(new Term(KEY_FIELD, url));
int lastDoc = 0;
@@ -147,7 +147,7 @@ namespace Lucene.Net.Search
{
lastDoc = td.Doc();
}
- Assert.AreEqual(lastDoc, h.Id((i)), "Duplicate urls should return last doc");
+ Assert.AreEqual(lastDoc, h[i].doc, "Duplicate urls should return last doc");
}
}
@@ -156,17 +156,17 @@ namespace Lucene.Net.Search
{
DuplicateFilter df = new DuplicateFilter(KEY_FIELD);
df.SetKeepMode(DuplicateFilter.KM_USE_FIRST_OCCURRENCE);
- Hits h = searcher.Search(tq, df);
- Assert.IsTrue(h.Length() > 0, "Filtered searching should have found some matches");
- for (int i = 0; i < h.Length(); i++)
+ ScoreDoc[] h = searcher.Search(tq, df, 1000).ScoreDocs;
+ Assert.IsTrue(h.Length > 0, "Filtered searching should have found some matches");
+ for (int i = 0; i < h.Length; i++)
{
- Document d = h.Doc(i);
+ Document d = searcher.Doc(h[i].doc);
String url = d.Get(KEY_FIELD);
TermDocs td = reader.TermDocs(new Term(KEY_FIELD, url));
int lastDoc = 0;
td.Next();
lastDoc = td.Doc();
- Assert.AreEqual(lastDoc, h.Id((i)), "Duplicate urls should return first doc");
+ Assert.AreEqual(lastDoc, h[i].doc, "Duplicate urls should return first doc");
}
}
}
Modified: incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/FuzzyLikeThisQueryTest.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/FuzzyLikeThisQueryTest.cs?rev=1205304&r1=1205303&r2=1205304&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/FuzzyLikeThisQueryTest.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/FuzzyLikeThisQueryTest.cs Wed Nov 23 06:56:07 2011
@@ -72,7 +72,7 @@ namespace Lucene.Net.Search
FuzzyLikeThisQuery flt = new FuzzyLikeThisQuery(10, analyzer);
flt.AddTerms("smith", "name", 0.3f, 1);
Query q = flt.Rewrite(searcher.GetIndexReader());
- Hashtable queryTerms = new Hashtable();
+ ISet<Term> queryTerms = new HashSet<Term>();
q.ExtractTerms(queryTerms);
Assert.IsTrue(queryTerms.Contains(new Term("name", "smythe")),"Should have variant smythe");
Assert.IsTrue(queryTerms.Contains(new Term("name", "smith")), "Should have variant smith");
@@ -91,7 +91,7 @@ namespace Lucene.Net.Search
FuzzyLikeThisQuery flt = new FuzzyLikeThisQuery(10, analyzer);
flt.AddTerms("jonathin smoth", "name", 0.3f, 1);
Query q = flt.Rewrite(searcher.GetIndexReader());
- Hashtable queryTerms = new Hashtable();
+ ISet<Term> queryTerms = new HashSet<Term>();
q.ExtractTerms(queryTerms);
Assert.IsTrue(queryTerms.Contains(new Term("name", "jonathan")),"Should have variant jonathan");
Assert.IsTrue(queryTerms.Contains(new Term("name", "smith")), "Should have variant smith");
@@ -109,7 +109,7 @@ namespace Lucene.Net.Search
FuzzyLikeThisQuery flt = new FuzzyLikeThisQuery(10, analyzer);
flt.AddTerms("fernando smith", "name", 0.3f, 1);
Query q = flt.Rewrite(searcher.GetIndexReader());
- Hashtable queryTerms = new Hashtable();
+ ISet<Term> queryTerms = new HashSet<Term>();
q.ExtractTerms(queryTerms);
Assert.IsTrue(queryTerms.Contains(new Term("name", "smith")), "Should have variant smith");
TopDocs topDocs = searcher.Search(flt, 1);
Modified: incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/Similar/TestMoreLikeThis.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/Similar/TestMoreLikeThis.cs?rev=1205304&r1=1205303&r2=1205304&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/Similar/TestMoreLikeThis.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/Similar/TestMoreLikeThis.cs Wed Nov 23 06:56:07 2011
@@ -46,7 +46,8 @@ namespace Lucene.Net.Search.Similar
{
base.SetUp();
directory = new RAMDirectory();
- IndexWriter writer = new IndexWriter(directory, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29),true, IndexWriter.MaxFieldLength.UNLIMITED);
+ IndexWriter writer = new IndexWriter(directory, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_CURRENT),
+ true, IndexWriter.MaxFieldLength.UNLIMITED);
// Add series of docs with specific information for MoreLikeThis
AddDoc(writer, "lucene");
Modified: incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/TermsFilterTest.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/TermsFilterTest.cs?rev=1205304&r1=1205303&r2=1205304&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/TermsFilterTest.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/TermsFilterTest.cs Wed Nov 23 06:56:07 2011
@@ -98,15 +98,5 @@ namespace Lucene.Net.Search
bits = (OpenBitSet)tf.GetDocIdSet(reader);
Assert.AreEqual(2, bits.Cardinality(), "Must match 2");
}
-
- [Test]
- [ExpectedException(typeof(NotSupportedException))]
- public void ExOnBits()
- {
- TermsFilter a = new TermsFilter();
- a.AddTerm(new Term("field1", "a"));
- a.AddTerm(new Term("field1", "b"));
- BitArray b = a.Bits(null);
- }
}
}