From 8834cfb4db7e525d89f7cb0669b4971da11b4b3b Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 1 Mar 2019 17:07:46 +0100 Subject: [PATCH] Build fix --- .../Contents/Text/TextIndexerGrain.cs | 22 +++++++++++-------- .../EventSourcing/MongoEventStore_Writer.cs | 1 - .../Contents/Text/TextIndexerGrainTests.cs | 12 ++++++++++ 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/Squidex.Domain.Apps.Entities/Contents/Text/TextIndexerGrain.cs b/src/Squidex.Domain.Apps.Entities/Contents/Text/TextIndexerGrain.cs index 5335954ca..b0cc48f22 100644 --- a/src/Squidex.Domain.Apps.Entities/Contents/Text/TextIndexerGrain.cs +++ b/src/Squidex.Domain.Apps.Entities/Contents/Text/TextIndexerGrain.cs @@ -19,6 +19,7 @@ using Lucene.Net.QueryParsers.Classic; using Lucene.Net.Search; using Lucene.Net.Store; using Lucene.Net.Util; +using Squidex.Domain.Apps.Core; using Squidex.Infrastructure; using Squidex.Infrastructure.Assets; using Squidex.Infrastructure.Json.Objects; @@ -31,6 +32,9 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text private const LuceneVersion Version = LuceneVersion.LUCENE_48; private const int MaxResults = 2000; private const int MaxUpdates = 100; + private const string MetaId = "_id"; + private const string MetaKey = "_key"; + private const string MetaDraft = "_dd"; private static readonly TimeSpan CommitDelay = TimeSpan.FromSeconds(30); private static readonly Analyzer Analyzer = new MultiLanguageAnalyzer(Version); private readonly IAssetStore assetStore; @@ -66,7 +70,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text public Task DeleteAsync(Guid id) { - indexWriter.DeleteDocuments(new Term("id", id.ToString())); + indexWriter.DeleteDocuments(new Term(MetaId, id.ToString())); return TryFlushAsync(); } @@ -79,7 +83,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text var query = new BooleanQuery(); - indexWriter.DeleteDocuments(new Term("key", docKey)); + indexWriter.DeleteDocuments(new Term(MetaKey, docKey)); var languages = new Dictionary(); @@ -112,9 +116,9 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text { var document = new Document(); - document.AddStringField("id", docId, Field.Store.YES); - document.AddStringField("key", docKey, Field.Store.YES); - document.AddStringField("draft", docDraft, Field.Store.YES); + document.AddStringField(MetaId, docId, Field.Store.YES); + document.AddStringField(MetaKey, docKey, Field.Store.YES); + document.AddStringField(MetaDraft, docDraft, Field.Store.YES); foreach (var field in languages) { @@ -161,7 +165,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text if (indexReader != null) { - var filter = new TermsFilter(new Term("draft", context.IsDraft.ToString())); + var filter = new TermsFilter(new Term(MetaDraft, context.IsDraft.ToString())); var hits = new IndexSearcher(indexReader).Search(query, filter, MaxResults).ScoreDocs; @@ -169,7 +173,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text { var document = indexReader.Document(hit.Doc); - var idField = document.GetField("id")?.GetStringValue(); + var idField = document.GetField(MetaId)?.GetStringValue(); if (idField != null && Guid.TryParse(idField, out var guid)) { @@ -188,7 +192,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text { var fields = context.Languages.Select(BuildFieldName) - .Union(Enumerable.Repeat(BuildFieldName("iv"), 1)).ToArray(); + .Union(Enumerable.Repeat(BuildFieldName(InvariantPartitioning.Instance.Master.Key), 1)).ToArray(); queryParser = new MultiFieldQueryParser(Version, fields, Analyzer); @@ -266,7 +270,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text private static string BuildFieldName(string language) { - return $"{language}_field"; + return language; } } } diff --git a/src/Squidex.Infrastructure.MongoDb/EventSourcing/MongoEventStore_Writer.cs b/src/Squidex.Infrastructure.MongoDb/EventSourcing/MongoEventStore_Writer.cs index 7ada79773..29a9de831 100644 --- a/src/Squidex.Infrastructure.MongoDb/EventSourcing/MongoEventStore_Writer.cs +++ b/src/Squidex.Infrastructure.MongoDb/EventSourcing/MongoEventStore_Writer.cs @@ -18,7 +18,6 @@ namespace Squidex.Infrastructure.EventSourcing { private const int MaxCommitSize = 10; private const int MaxWriteAttempts = 20; - private const int MaxCommitSize = 10; private static readonly BsonTimestamp EmptyTimestamp = new BsonTimestamp(0); public Task DeleteStreamAsync(string streamName) diff --git a/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/TextIndexerGrainTests.cs b/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/TextIndexerGrainTests.cs index 1cbcb18c8..b44c3bbbe 100644 --- a/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/TextIndexerGrainTests.cs +++ b/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/TextIndexerGrainTests.cs @@ -104,6 +104,18 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text Assert.Equal(ids2, worldIds); } + [Fact] + public async Task Should_search_by_field() + { + await AddLocalizedContent(); + + var emptyGerman = await sut.SearchAsync("de:City", context); + var emptyEnglish = await sut.SearchAsync("en:Stadt", context); + + Assert.Empty(emptyGerman); + Assert.Empty(emptyEnglish); + } + [Fact] public async Task Should_index_localized_content_and_retrieve() {