Fixes PocoToSqlExpressionVisitor (oops), fixes examine tests by using the correct usings and NRT indexer/searcher to avoid waiting on thread timers
This commit is contained in:
@@ -20,6 +20,7 @@ namespace Umbraco.Core.Persistence.Querying
|
|||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Obsolete("Use the overload the specifies a SqlSyntaxProvider")]
|
||||||
public ModelToSqlExpressionVisitor()
|
public ModelToSqlExpressionVisitor()
|
||||||
: this(SqlSyntaxContext.SqlSyntaxProvider, MappingResolver.Current.ResolveMapperByType(typeof(T)))
|
: this(SqlSyntaxContext.SqlSyntaxProvider, MappingResolver.Current.ResolveMapperByType(typeof(T)))
|
||||||
{ }
|
{ }
|
||||||
|
|||||||
@@ -18,14 +18,13 @@ namespace Umbraco.Core.Persistence.Querying
|
|||||||
public PocoToSqlExpressionVisitor(ISqlSyntaxProvider syntaxProvider)
|
public PocoToSqlExpressionVisitor(ISqlSyntaxProvider syntaxProvider)
|
||||||
: base(syntaxProvider)
|
: base(syntaxProvider)
|
||||||
{
|
{
|
||||||
|
_pd = new Database.PocoData(typeof(T));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete("Use the overload the specifies a SqlSyntaxProvider")]
|
[Obsolete("Use the overload the specifies a SqlSyntaxProvider")]
|
||||||
public PocoToSqlExpressionVisitor()
|
public PocoToSqlExpressionVisitor()
|
||||||
: base(SqlSyntaxContext.SqlSyntaxProvider)
|
: this(SqlSyntaxContext.SqlSyntaxProvider)
|
||||||
{
|
{
|
||||||
_pd = new Database.PocoData(typeof(T));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override string VisitMemberAccess(MemberExpression m)
|
protected override string VisitMemberAccess(MemberExpression m)
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Lucene.Net.Analysis.Standard;
|
||||||
using Lucene.Net.Documents;
|
using Lucene.Net.Documents;
|
||||||
|
using Lucene.Net.Index;
|
||||||
using Lucene.Net.Store;
|
using Lucene.Net.Store;
|
||||||
using Moq;
|
using Moq;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
@@ -31,12 +33,15 @@ namespace Umbraco.Tests.PublishedContent
|
|||||||
[Test]
|
[Test]
|
||||||
public void Ensure_Children_Are_Sorted()
|
public void Ensure_Children_Are_Sorted()
|
||||||
{
|
{
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer))
|
||||||
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
{
|
{
|
||||||
var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
//var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
||||||
indexer.RebuildIndex();
|
indexer.RebuildIndex();
|
||||||
|
|
||||||
var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
//var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
||||||
var result = searcher.Search(searcher.CreateSearchCriteria().Id(1111).Compile());
|
var result = searcher.Search(searcher.CreateSearchCriteria().Id(1111).Compile());
|
||||||
Assert.IsNotNull(result);
|
Assert.IsNotNull(result);
|
||||||
Assert.AreEqual(1, result.TotalItemCount);
|
Assert.AreEqual(1, result.TotalItemCount);
|
||||||
@@ -60,12 +65,15 @@ namespace Umbraco.Tests.PublishedContent
|
|||||||
[Test]
|
[Test]
|
||||||
public void Ensure_Result_Has_All_Values()
|
public void Ensure_Result_Has_All_Values()
|
||||||
{
|
{
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer))
|
||||||
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
{
|
{
|
||||||
var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
//var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
||||||
indexer.RebuildIndex();
|
indexer.RebuildIndex();
|
||||||
|
|
||||||
var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
//var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
||||||
var result = searcher.Search(searcher.CreateSearchCriteria().Id(1111).Compile());
|
var result = searcher.Search(searcher.CreateSearchCriteria().Id(1111).Compile());
|
||||||
Assert.IsNotNull(result);
|
Assert.IsNotNull(result);
|
||||||
Assert.AreEqual(1, result.TotalItemCount);
|
Assert.AreEqual(1, result.TotalItemCount);
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ using UmbracoExamine;
|
|||||||
using UmbracoExamine.DataServices;
|
using UmbracoExamine.DataServices;
|
||||||
using umbraco.BusinessLogic;
|
using umbraco.BusinessLogic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Lucene.Net.Index;
|
||||||
|
|
||||||
namespace Umbraco.Tests.PublishedContent
|
namespace Umbraco.Tests.PublishedContent
|
||||||
{
|
{
|
||||||
@@ -106,11 +107,14 @@ namespace Umbraco.Tests.PublishedContent
|
|||||||
[Test]
|
[Test]
|
||||||
public void Ensure_Children_Sorted_With_Examine()
|
public void Ensure_Children_Sorted_With_Examine()
|
||||||
{
|
{
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer))
|
||||||
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
{
|
{
|
||||||
var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
//var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
||||||
indexer.RebuildIndex();
|
indexer.RebuildIndex();
|
||||||
var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
//var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
||||||
var ctx = GetUmbracoContext("/test", 1234);
|
var ctx = GetUmbracoContext("/test", 1234);
|
||||||
var cache = new ContextualPublishedMediaCache(new PublishedMediaCache(ctx.Application, searcher, indexer), ctx);
|
var cache = new ContextualPublishedMediaCache(new PublishedMediaCache(ctx.Application, searcher, indexer), ctx);
|
||||||
|
|
||||||
@@ -135,11 +139,14 @@ namespace Umbraco.Tests.PublishedContent
|
|||||||
[Test]
|
[Test]
|
||||||
public void Do_Not_Find_In_Recycle_Bin()
|
public void Do_Not_Find_In_Recycle_Bin()
|
||||||
{
|
{
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer))
|
||||||
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
{
|
{
|
||||||
var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
//var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
||||||
indexer.RebuildIndex();
|
indexer.RebuildIndex();
|
||||||
var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
//var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
||||||
var ctx = GetUmbracoContext("/test", 1234);
|
var ctx = GetUmbracoContext("/test", 1234);
|
||||||
var cache = new ContextualPublishedMediaCache(new PublishedMediaCache(ctx.Application, searcher, indexer), ctx);
|
var cache = new ContextualPublishedMediaCache(new PublishedMediaCache(ctx.Application, searcher, indexer), ctx);
|
||||||
|
|
||||||
@@ -175,11 +182,14 @@ namespace Umbraco.Tests.PublishedContent
|
|||||||
[Test]
|
[Test]
|
||||||
public void Children_With_Examine()
|
public void Children_With_Examine()
|
||||||
{
|
{
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer))
|
||||||
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
{
|
{
|
||||||
var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
//var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
||||||
indexer.RebuildIndex();
|
indexer.RebuildIndex();
|
||||||
var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
//var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
||||||
var ctx = GetUmbracoContext("/test", 1234);
|
var ctx = GetUmbracoContext("/test", 1234);
|
||||||
var cache = new ContextualPublishedMediaCache(new PublishedMediaCache(ctx.Application, searcher, indexer), ctx);
|
var cache = new ContextualPublishedMediaCache(new PublishedMediaCache(ctx.Application, searcher, indexer), ctx);
|
||||||
|
|
||||||
@@ -197,11 +207,14 @@ namespace Umbraco.Tests.PublishedContent
|
|||||||
[Test]
|
[Test]
|
||||||
public void Descendants_With_Examine()
|
public void Descendants_With_Examine()
|
||||||
{
|
{
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer))
|
||||||
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
{
|
{
|
||||||
var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
//var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
||||||
indexer.RebuildIndex();
|
indexer.RebuildIndex();
|
||||||
var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
//var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
||||||
var ctx = GetUmbracoContext("/test", 1234);
|
var ctx = GetUmbracoContext("/test", 1234);
|
||||||
var cache = new ContextualPublishedMediaCache(new PublishedMediaCache(ctx.Application, searcher, indexer), ctx);
|
var cache = new ContextualPublishedMediaCache(new PublishedMediaCache(ctx.Application, searcher, indexer), ctx);
|
||||||
|
|
||||||
@@ -219,11 +232,14 @@ namespace Umbraco.Tests.PublishedContent
|
|||||||
[Test]
|
[Test]
|
||||||
public void DescendantsOrSelf_With_Examine()
|
public void DescendantsOrSelf_With_Examine()
|
||||||
{
|
{
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer))
|
||||||
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
{
|
{
|
||||||
var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
//var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
||||||
indexer.RebuildIndex();
|
indexer.RebuildIndex();
|
||||||
var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
//var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
||||||
var ctx = GetUmbracoContext("/test", 1234);
|
var ctx = GetUmbracoContext("/test", 1234);
|
||||||
var cache = new ContextualPublishedMediaCache(new PublishedMediaCache(ctx.Application, searcher, indexer), ctx);
|
var cache = new ContextualPublishedMediaCache(new PublishedMediaCache(ctx.Application, searcher, indexer), ctx);
|
||||||
|
|
||||||
@@ -241,12 +257,15 @@ namespace Umbraco.Tests.PublishedContent
|
|||||||
[Test]
|
[Test]
|
||||||
public void Ancestors_With_Examine()
|
public void Ancestors_With_Examine()
|
||||||
{
|
{
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer))
|
||||||
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
{
|
{
|
||||||
var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
//var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
||||||
indexer.RebuildIndex();
|
indexer.RebuildIndex();
|
||||||
var ctx = GetUmbracoContext("/test", 1234);
|
var ctx = GetUmbracoContext("/test", 1234);
|
||||||
var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
//var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
||||||
var cache = new ContextualPublishedMediaCache(new PublishedMediaCache(ctx.Application, searcher, indexer), ctx);
|
var cache = new ContextualPublishedMediaCache(new PublishedMediaCache(ctx.Application, searcher, indexer), ctx);
|
||||||
|
|
||||||
//we are using the media.xml media to test the examine results implementation, see the media.xml file in the ExamineHelpers namespace
|
//we are using the media.xml media to test the examine results implementation, see the media.xml file in the ExamineHelpers namespace
|
||||||
@@ -260,12 +279,15 @@ namespace Umbraco.Tests.PublishedContent
|
|||||||
[Test]
|
[Test]
|
||||||
public void AncestorsOrSelf_With_Examine()
|
public void AncestorsOrSelf_With_Examine()
|
||||||
{
|
{
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer))
|
||||||
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
{
|
{
|
||||||
var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
//var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir);
|
||||||
indexer.RebuildIndex();
|
indexer.RebuildIndex();
|
||||||
var ctx = GetUmbracoContext("/test", 1234);
|
var ctx = GetUmbracoContext("/test", 1234);
|
||||||
var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
//var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
||||||
var cache = new ContextualPublishedMediaCache(new PublishedMediaCache(ctx.Application, searcher, indexer), ctx);
|
var cache = new ContextualPublishedMediaCache(new PublishedMediaCache(ctx.Application, searcher, indexer), ctx);
|
||||||
|
|
||||||
//we are using the media.xml media to test the examine results implementation, see the media.xml file in the ExamineHelpers namespace
|
//we are using the media.xml media to test the examine results implementation, see the media.xml file in the ExamineHelpers namespace
|
||||||
|
|||||||
@@ -164,6 +164,7 @@
|
|||||||
<Compile Include="Routing\NiceUrlRoutesTests.cs" />
|
<Compile Include="Routing\NiceUrlRoutesTests.cs" />
|
||||||
<Compile Include="TestHelpers\Entities\MockedPropertyTypes.cs" />
|
<Compile Include="TestHelpers\Entities\MockedPropertyTypes.cs" />
|
||||||
<Compile Include="TryConvertToTests.cs" />
|
<Compile Include="TryConvertToTests.cs" />
|
||||||
|
<Compile Include="UmbracoExamine\RandomIdRAMDirectory.cs" />
|
||||||
<Compile Include="UmbracoExamine\UmbracoContentIndexerTests.cs" />
|
<Compile Include="UmbracoExamine\UmbracoContentIndexerTests.cs" />
|
||||||
<Compile Include="Web\AngularIntegration\AngularAntiForgeryTests.cs" />
|
<Compile Include="Web\AngularIntegration\AngularAntiForgeryTests.cs" />
|
||||||
<Compile Include="Web\AngularIntegration\ContentModelSerializationTests.cs" />
|
<Compile Include="Web\AngularIntegration\ContentModelSerializationTests.cs" />
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Examine;
|
using Examine;
|
||||||
|
using Lucene.Net.Analysis.Standard;
|
||||||
|
using Lucene.Net.Index;
|
||||||
using Lucene.Net.Store;
|
using Lucene.Net.Store;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using Umbraco.Tests.TestHelpers;
|
using Umbraco.Tests.TestHelpers;
|
||||||
@@ -15,53 +17,39 @@ namespace Umbraco.Tests.UmbracoExamine
|
|||||||
[Test]
|
[Test]
|
||||||
public void Events_Ignoring_Node()
|
public void Events_Ignoring_Node()
|
||||||
{
|
{
|
||||||
//change the parent id so that they are all ignored
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
var existingCriteria = _indexer.IndexerData;
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
_indexer.IndexerData = new IndexCriteria(existingCriteria.StandardFields, existingCriteria.UserFields, existingCriteria.IncludeNodeTypes, existingCriteria.ExcludeNodeTypes,
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer))
|
||||||
999); //change to 999
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
|
{
|
||||||
|
//change the parent id so that they are all ignored
|
||||||
|
var existingCriteria = indexer.IndexerData;
|
||||||
|
indexer.IndexerData = new IndexCriteria(existingCriteria.StandardFields, existingCriteria.UserFields, existingCriteria.IncludeNodeTypes, existingCriteria.ExcludeNodeTypes,
|
||||||
|
999); //change to 999
|
||||||
|
|
||||||
var isIgnored = false;
|
var isIgnored = false;
|
||||||
|
|
||||||
EventHandler<IndexingNodeDataEventArgs> ignoringNode = (s, e) =>
|
EventHandler<IndexingNodeDataEventArgs> ignoringNode = (s, e) =>
|
||||||
{
|
{
|
||||||
isIgnored = true;
|
isIgnored = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
_indexer.IgnoringNode += ignoringNode;
|
indexer.IgnoringNode += ignoringNode;
|
||||||
|
|
||||||
//get a node from the data repo
|
//get a node from the data repo
|
||||||
var node = _contentService.GetPublishedContentByXPath("//*[string-length(@id)>0 and number(@id)>0]")
|
var node = _contentService.GetPublishedContentByXPath("//*[string-length(@id)>0 and number(@id)>0]")
|
||||||
.Root
|
.Root
|
||||||
.Elements()
|
.Elements()
|
||||||
.First();
|
.First();
|
||||||
|
|
||||||
_indexer.ReIndexNode(node, IndexTypes.Content);
|
indexer.ReIndexNode(node, IndexTypes.Content);
|
||||||
|
|
||||||
|
|
||||||
Assert.IsTrue(isIgnored);
|
Assert.IsTrue(isIgnored);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly TestContentService _contentService = new TestContentService();
|
private readonly TestContentService _contentService = new TestContentService();
|
||||||
private static UmbracoExamineSearcher _searcher;
|
|
||||||
private static UmbracoContentIndexer _indexer;
|
|
||||||
private Lucene.Net.Store.Directory _luceneDir;
|
|
||||||
|
|
||||||
public override void Initialize()
|
|
||||||
{
|
|
||||||
base.Initialize();
|
|
||||||
|
|
||||||
_luceneDir = new RAMDirectory();
|
|
||||||
_indexer = IndexInitializer.GetUmbracoIndexer(_luceneDir);
|
|
||||||
_indexer.RebuildIndex();
|
|
||||||
_searcher = IndexInitializer.GetUmbracoSearcher(_luceneDir);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void TearDown()
|
|
||||||
{
|
|
||||||
base.TearDown();
|
|
||||||
_luceneDir.Dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,6 +7,7 @@ using Examine.LuceneEngine.Config;
|
|||||||
using Examine.LuceneEngine.Providers;
|
using Examine.LuceneEngine.Providers;
|
||||||
using Lucene.Net.Analysis;
|
using Lucene.Net.Analysis;
|
||||||
using Lucene.Net.Analysis.Standard;
|
using Lucene.Net.Analysis.Standard;
|
||||||
|
using Lucene.Net.Index;
|
||||||
using Lucene.Net.Store;
|
using Lucene.Net.Store;
|
||||||
using Moq;
|
using Moq;
|
||||||
using Umbraco.Core;
|
using Umbraco.Core;
|
||||||
@@ -33,7 +34,7 @@ namespace Umbraco.Tests.UmbracoExamine
|
|||||||
internal static class IndexInitializer
|
internal static class IndexInitializer
|
||||||
{
|
{
|
||||||
public static UmbracoContentIndexer GetUmbracoIndexer(
|
public static UmbracoContentIndexer GetUmbracoIndexer(
|
||||||
Directory luceneDir,
|
IndexWriter writer,
|
||||||
Analyzer analyzer = null,
|
Analyzer analyzer = null,
|
||||||
IDataService dataService = null,
|
IDataService dataService = null,
|
||||||
IContentService contentService = null,
|
IContentService contentService = null,
|
||||||
@@ -178,15 +179,14 @@ namespace Umbraco.Tests.UmbracoExamine
|
|||||||
var indexCriteria = indexSet.ToIndexCriteria(dataService, UmbracoContentIndexer.IndexFieldPolicies);
|
var indexCriteria = indexSet.ToIndexCriteria(dataService, UmbracoContentIndexer.IndexFieldPolicies);
|
||||||
|
|
||||||
var i = new UmbracoContentIndexer(indexCriteria,
|
var i = new UmbracoContentIndexer(indexCriteria,
|
||||||
luceneDir, //custom lucene directory
|
writer,
|
||||||
dataService,
|
dataService,
|
||||||
contentService,
|
contentService,
|
||||||
mediaService,
|
mediaService,
|
||||||
dataTypeService,
|
dataTypeService,
|
||||||
userService,
|
userService,
|
||||||
contentTypeService,
|
contentTypeService,
|
||||||
analyzer,
|
false)
|
||||||
false)
|
|
||||||
{
|
{
|
||||||
SupportUnpublishedContent = supportUnpublishedContent
|
SupportUnpublishedContent = supportUnpublishedContent
|
||||||
};
|
};
|
||||||
@@ -197,13 +197,14 @@ namespace Umbraco.Tests.UmbracoExamine
|
|||||||
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
public static UmbracoExamineSearcher GetUmbracoSearcher(Directory luceneDir, Analyzer analyzer = null)
|
|
||||||
|
public static UmbracoExamineSearcher GetUmbracoSearcher(IndexWriter writer, Analyzer analyzer = null)
|
||||||
{
|
{
|
||||||
if (analyzer == null)
|
if (analyzer == null)
|
||||||
{
|
{
|
||||||
analyzer = new StandardAnalyzer(Version.LUCENE_29);
|
analyzer = new StandardAnalyzer(Version.LUCENE_29);
|
||||||
}
|
}
|
||||||
return new UmbracoExamineSearcher(luceneDir, analyzer);
|
return new UmbracoExamineSearcher(writer, analyzer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static LuceneSearcher GetLuceneSearcher(Directory luceneDir)
|
public static LuceneSearcher GetLuceneSearcher(Directory luceneDir)
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
using System;
|
using System.Collections.Generic;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Examine;
|
using Examine;
|
||||||
using Examine.LuceneEngine;
|
using Examine.LuceneEngine;
|
||||||
using Examine.LuceneEngine.Providers;
|
using Examine.LuceneEngine.Providers;
|
||||||
using Examine.LuceneEngine.SearchCriteria;
|
using Examine.LuceneEngine.SearchCriteria;
|
||||||
using Examine.SearchCriteria;
|
using Examine.SearchCriteria;
|
||||||
|
using Lucene.Net.Analysis.Standard;
|
||||||
using Lucene.Net.Index;
|
using Lucene.Net.Index;
|
||||||
using Lucene.Net.Search;
|
using Lucene.Net.Search;
|
||||||
using Lucene.Net.Store;
|
using Lucene.Net.Store;
|
||||||
@@ -15,7 +15,6 @@ using UmbracoExamine;
|
|||||||
|
|
||||||
namespace Umbraco.Tests.UmbracoExamine
|
namespace Umbraco.Tests.UmbracoExamine
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tests the standard indexing capabilities
|
/// Tests the standard indexing capabilities
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -30,9 +29,10 @@ namespace Umbraco.Tests.UmbracoExamine
|
|||||||
public void Index_Protected_Content_Not_Indexed()
|
public void Index_Protected_Content_Not_Indexed()
|
||||||
{
|
{
|
||||||
|
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
using (var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir))
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
using (var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir))
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer))
|
||||||
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
{
|
{
|
||||||
indexer.RebuildIndex();
|
indexer.RebuildIndex();
|
||||||
|
|
||||||
@@ -59,9 +59,10 @@ namespace Umbraco.Tests.UmbracoExamine
|
|||||||
[Test]
|
[Test]
|
||||||
public void Index_Move_Media_From_Non_Indexable_To_Indexable_ParentID()
|
public void Index_Move_Media_From_Non_Indexable_To_Indexable_ParentID()
|
||||||
{
|
{
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
using (var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir))
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
using (var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir))
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer))
|
||||||
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
{
|
{
|
||||||
indexer.RebuildIndex();
|
indexer.RebuildIndex();
|
||||||
|
|
||||||
@@ -77,7 +78,7 @@ namespace Umbraco.Tests.UmbracoExamine
|
|||||||
|
|
||||||
//ensure that node 2112 doesn't exist
|
//ensure that node 2112 doesn't exist
|
||||||
var results = searcher.Search(searcher.CreateSearchCriteria().Id(2112).Compile());
|
var results = searcher.Search(searcher.CreateSearchCriteria().Id(2112).Compile());
|
||||||
Assert.AreEqual(0, results.Count());
|
Assert.AreEqual(0, results.TotalItemCount);
|
||||||
|
|
||||||
//get a node from the data repo (this one exists underneath 2222)
|
//get a node from the data repo (this one exists underneath 2222)
|
||||||
var node = mediaService.GetLatestMediaByXpath("//*[string-length(@id)>0 and number(@id)>0]")
|
var node = mediaService.GetLatestMediaByXpath("//*[string-length(@id)>0 and number(@id)>0]")
|
||||||
@@ -103,19 +104,19 @@ namespace Umbraco.Tests.UmbracoExamine
|
|||||||
|
|
||||||
//now ensure it's deleted
|
//now ensure it's deleted
|
||||||
var newResults = searcher.Search(searcher.CreateSearchCriteria().Id(2112).Compile());
|
var newResults = searcher.Search(searcher.CreateSearchCriteria().Id(2112).Compile());
|
||||||
Assert.AreEqual(1, newResults.Count());
|
Assert.AreEqual(1, newResults.TotalItemCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[Ignore]
|
|
||||||
public void Index_Move_Media_To_Non_Indexable_ParentID()
|
public void Index_Move_Media_To_Non_Indexable_ParentID()
|
||||||
{
|
{
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
using (var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir))
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
using (var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir))
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer))
|
||||||
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
{
|
{
|
||||||
indexer.RebuildIndex();
|
indexer.RebuildIndex();
|
||||||
|
|
||||||
@@ -152,7 +153,7 @@ namespace Umbraco.Tests.UmbracoExamine
|
|||||||
|
|
||||||
//now ensure it's deleted
|
//now ensure it's deleted
|
||||||
var results = searcher.Search(searcher.CreateSearchCriteria().Id(2112).Compile());
|
var results = searcher.Search(searcher.CreateSearchCriteria().Id(2112).Compile());
|
||||||
Assert.AreEqual(0, results.Count());
|
Assert.AreEqual(0, results.TotalItemCount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,9 +165,10 @@ namespace Umbraco.Tests.UmbracoExamine
|
|||||||
[Test]
|
[Test]
|
||||||
public void Index_Reindex_Content()
|
public void Index_Reindex_Content()
|
||||||
{
|
{
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
using (var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir, supportUnpublishedContent:true))
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
using (var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir))
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer, supportUnpublishedContent: true))
|
||||||
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
{
|
{
|
||||||
indexer.RebuildIndex();
|
indexer.RebuildIndex();
|
||||||
|
|
||||||
@@ -175,10 +177,9 @@ namespace Umbraco.Tests.UmbracoExamine
|
|||||||
//first delete all 'Content' (not media). This is done by directly manipulating the index with the Lucene API, not examine!
|
//first delete all 'Content' (not media). This is done by directly manipulating the index with the Lucene API, not examine!
|
||||||
|
|
||||||
var contentTerm = new Term(LuceneIndexer.IndexTypeFieldName, IndexTypes.Content);
|
var contentTerm = new Term(LuceneIndexer.IndexTypeFieldName, IndexTypes.Content);
|
||||||
var writer = indexer.GetIndexWriter();
|
|
||||||
writer.DeleteDocuments(contentTerm);
|
writer.DeleteDocuments(contentTerm);
|
||||||
writer.Commit();
|
writer.Commit();
|
||||||
|
|
||||||
//make sure the content is gone. This is done with lucene APIs, not examine!
|
//make sure the content is gone. This is done with lucene APIs, not examine!
|
||||||
var collector = new AllHitsCollector(false, true);
|
var collector = new AllHitsCollector(false, true);
|
||||||
var query = new TermQuery(contentTerm);
|
var query = new TermQuery(contentTerm);
|
||||||
@@ -205,13 +206,13 @@ namespace Umbraco.Tests.UmbracoExamine
|
|||||||
/// This will delete an item from the index and ensure that all children of the node are deleted too!
|
/// This will delete an item from the index and ensure that all children of the node are deleted too!
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Test]
|
[Test]
|
||||||
[Ignore]
|
|
||||||
public void Index_Delete_Index_Item_Ensure_Heirarchy_Removed()
|
public void Index_Delete_Index_Item_Ensure_Heirarchy_Removed()
|
||||||
{
|
{
|
||||||
|
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
using (var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir))
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
using (var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir))
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer))
|
||||||
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
{
|
{
|
||||||
indexer.RebuildIndex();
|
indexer.RebuildIndex();
|
||||||
|
|
||||||
@@ -221,10 +222,10 @@ namespace Umbraco.Tests.UmbracoExamine
|
|||||||
//this node had children: 1141 & 1142, let's ensure they are also removed
|
//this node had children: 1141 & 1142, let's ensure they are also removed
|
||||||
|
|
||||||
var results = searcher.Search(searcher.CreateSearchCriteria().Id(1141).Compile());
|
var results = searcher.Search(searcher.CreateSearchCriteria().Id(1141).Compile());
|
||||||
Assert.AreEqual(0, results.Count());
|
Assert.AreEqual(0, results.TotalItemCount);
|
||||||
|
|
||||||
results = searcher.Search(searcher.CreateSearchCriteria().Id(1142).Compile());
|
results = searcher.Search(searcher.CreateSearchCriteria().Id(1142).Compile());
|
||||||
Assert.AreEqual(0, results.Count());
|
Assert.AreEqual(0, results.TotalItemCount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
14
src/Umbraco.Tests/UmbracoExamine/RandomIdRAMDirectory.cs
Normal file
14
src/Umbraco.Tests/UmbracoExamine/RandomIdRAMDirectory.cs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
using System;
|
||||||
|
using Lucene.Net.Store;
|
||||||
|
|
||||||
|
namespace Umbraco.Tests.UmbracoExamine
|
||||||
|
{
|
||||||
|
public class RandomIdRAMDirectory : RAMDirectory
|
||||||
|
{
|
||||||
|
private readonly string _lockId = Guid.NewGuid().ToString();
|
||||||
|
public override string GetLockID()
|
||||||
|
{
|
||||||
|
return _lockId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,6 +8,8 @@ using Examine.LuceneEngine.Providers;
|
|||||||
using Lucene.Net.Store;
|
using Lucene.Net.Store;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using Examine.LuceneEngine.SearchCriteria;
|
using Examine.LuceneEngine.SearchCriteria;
|
||||||
|
using Lucene.Net.Analysis.Standard;
|
||||||
|
using Lucene.Net.Index;
|
||||||
using Umbraco.Tests.TestHelpers;
|
using Umbraco.Tests.TestHelpers;
|
||||||
|
|
||||||
namespace Umbraco.Tests.UmbracoExamine
|
namespace Umbraco.Tests.UmbracoExamine
|
||||||
@@ -20,16 +22,17 @@ namespace Umbraco.Tests.UmbracoExamine
|
|||||||
[Test]
|
[Test]
|
||||||
public void Test_Sort_Order_Sorting()
|
public void Test_Sort_Order_Sorting()
|
||||||
{
|
{
|
||||||
using (var luceneDir = new RAMDirectory())
|
using (var luceneDir = new RandomIdRAMDirectory())
|
||||||
{
|
using (var writer = new IndexWriter(luceneDir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), IndexWriter.MaxFieldLength.LIMITED))
|
||||||
var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir, null,
|
using (var indexer = IndexInitializer.GetUmbracoIndexer(writer, null,
|
||||||
new TestDataService()
|
new TestDataService()
|
||||||
{
|
{
|
||||||
ContentService = new TestContentService(TestFiles.umbraco_sort)
|
ContentService = new TestContentService(TestFiles.umbraco_sort)
|
||||||
},
|
},
|
||||||
supportUnpublishedContent:true);
|
supportUnpublishedContent: true))
|
||||||
indexer.RebuildIndex();
|
using (var searcher = IndexInitializer.GetUmbracoSearcher(writer))
|
||||||
var searcher = IndexInitializer.GetUmbracoSearcher(luceneDir);
|
{
|
||||||
|
indexer.RebuildIndex();
|
||||||
|
|
||||||
var s = (LuceneSearcher)searcher;
|
var s = (LuceneSearcher)searcher;
|
||||||
var luceneSearcher = s.GetSearcher();
|
var luceneSearcher = s.GetSearcher();
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ namespace UmbracoExamine
|
|||||||
/// <param name="indexPath"></param>
|
/// <param name="indexPath"></param>
|
||||||
/// <param name="dataService"></param>
|
/// <param name="dataService"></param>
|
||||||
/// <param name="analyzer"></param>
|
/// <param name="analyzer"></param>
|
||||||
|
/// <param name="async"></param>
|
||||||
protected BaseUmbracoIndexer(IIndexCriteria indexerData, DirectoryInfo indexPath, IDataService dataService, Analyzer analyzer, bool async)
|
protected BaseUmbracoIndexer(IIndexCriteria indexerData, DirectoryInfo indexPath, IDataService dataService, Analyzer analyzer, bool async)
|
||||||
: base(indexerData, indexPath, analyzer, async)
|
: base(indexerData, indexPath, analyzer, async)
|
||||||
{
|
{
|
||||||
@@ -61,6 +62,19 @@ namespace UmbracoExamine
|
|||||||
DataService = dataService;
|
DataService = dataService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Creates an NRT indexer
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="indexerData"></param>
|
||||||
|
/// <param name="writer"></param>
|
||||||
|
/// <param name="async"></param>
|
||||||
|
/// <param name="dataService"></param>
|
||||||
|
protected BaseUmbracoIndexer(IIndexCriteria indexerData, IndexWriter writer, IDataService dataService, bool async)
|
||||||
|
: base(indexerData, writer, async)
|
||||||
|
{
|
||||||
|
DataService = dataService;
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ using Examine.LuceneEngine;
|
|||||||
using Examine.LuceneEngine.Config;
|
using Examine.LuceneEngine.Config;
|
||||||
using UmbracoExamine.Config;
|
using UmbracoExamine.Config;
|
||||||
using Lucene.Net.Analysis;
|
using Lucene.Net.Analysis;
|
||||||
|
using Lucene.Net.Index;
|
||||||
using Umbraco.Core.Persistence.Querying;
|
using Umbraco.Core.Persistence.Querying;
|
||||||
using IContentService = Umbraco.Core.Services.IContentService;
|
using IContentService = Umbraco.Core.Services.IContentService;
|
||||||
using IMediaService = Umbraco.Core.Services.IMediaService;
|
using IMediaService = Umbraco.Core.Services.IMediaService;
|
||||||
@@ -146,6 +147,34 @@ namespace UmbracoExamine
|
|||||||
_contentTypeService = contentTypeService;
|
_contentTypeService = contentTypeService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Creates an NRT indexer
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="indexerData"></param>
|
||||||
|
/// <param name="writer"></param>
|
||||||
|
/// <param name="dataService"></param>
|
||||||
|
/// <param name="contentTypeService"></param>
|
||||||
|
/// <param name="async"></param>
|
||||||
|
/// <param name="contentService"></param>
|
||||||
|
/// <param name="mediaService"></param>
|
||||||
|
/// <param name="dataTypeService"></param>
|
||||||
|
/// <param name="userService"></param>
|
||||||
|
public UmbracoContentIndexer(IIndexCriteria indexerData, IndexWriter writer, IDataService dataService,
|
||||||
|
IContentService contentService,
|
||||||
|
IMediaService mediaService,
|
||||||
|
IDataTypeService dataTypeService,
|
||||||
|
IUserService userService,
|
||||||
|
IContentTypeService contentTypeService,
|
||||||
|
bool async)
|
||||||
|
: base(indexerData, writer, dataService, async)
|
||||||
|
{
|
||||||
|
_contentService = contentService;
|
||||||
|
_mediaService = mediaService;
|
||||||
|
_dataTypeService = dataTypeService;
|
||||||
|
_userService = userService;
|
||||||
|
_contentTypeService = contentTypeService;
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Constants & Fields
|
#region Constants & Fields
|
||||||
|
|||||||
@@ -51,12 +51,41 @@ namespace UmbracoExamine
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public override string Name
|
public override string Name
|
||||||
{
|
{
|
||||||
get
|
get { return _name; }
|
||||||
{
|
}
|
||||||
return _name;
|
|
||||||
}
|
/// <summary>
|
||||||
|
/// Constructor to allow for creating an indexer at runtime
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="indexPath"></param>
|
||||||
|
/// <param name="analyzer"></param>
|
||||||
|
|
||||||
|
public UmbracoExamineSearcher(DirectoryInfo indexPath, Analyzer analyzer)
|
||||||
|
: base(indexPath, analyzer)
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor to allow for creating an indexer at runtime
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="luceneDirectory"></param>
|
||||||
|
/// <param name="analyzer"></param>
|
||||||
|
public UmbracoExamineSearcher(Lucene.Net.Store.Directory luceneDirectory, Analyzer analyzer)
|
||||||
|
: base(luceneDirectory, analyzer)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Creates an NRT searcher
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="writer"></param>
|
||||||
|
/// <param name="analyzer"></param>
|
||||||
|
public UmbracoExamineSearcher(IndexWriter writer, Analyzer analyzer)
|
||||||
|
: base(writer, analyzer)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)
|
public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)
|
||||||
{
|
{
|
||||||
@@ -115,30 +144,6 @@ namespace UmbracoExamine
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Constructor to allow for creating an indexer at runtime
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="indexPath"></param>
|
|
||||||
/// <param name="analyzer"></param>
|
|
||||||
|
|
||||||
public UmbracoExamineSearcher(DirectoryInfo indexPath, Analyzer analyzer)
|
|
||||||
: base(indexPath, analyzer)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Constructor to allow for creating an indexer at runtime
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="luceneDirectory"></param>
|
|
||||||
/// <param name="analyzer"></param>
|
|
||||||
|
|
||||||
public UmbracoExamineSearcher(Lucene.Net.Store.Directory luceneDirectory, Analyzer analyzer)
|
|
||||||
: base(luceneDirectory, analyzer)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Used for unit tests
|
/// Used for unit tests
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user