X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.indexing%2Fsrc%2Forg%2Fsimantics%2Fdb%2Findexing%2FIndexedRelationsSearcherBase.java;h=dad5ad07b13ea49011ea03d0d70b5a254c62d32c;hb=da749c56c5caad4252cd27276bf19b08f4dcb778;hp=afcaafd51858229f8ac153c535493c1711717cef;hpb=b14aabb9b1160cbbadef994db5778a45a13f5533;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.indexing/src/org/simantics/db/indexing/IndexedRelationsSearcherBase.java b/bundles/org.simantics.db.indexing/src/org/simantics/db/indexing/IndexedRelationsSearcherBase.java index afcaafd51..dad5ad07b 100644 --- a/bundles/org.simantics.db.indexing/src/org/simantics/db/indexing/IndexedRelationsSearcherBase.java +++ b/bundles/org.simantics.db.indexing/src/org/simantics/db/indexing/IndexedRelationsSearcherBase.java @@ -347,6 +347,7 @@ abstract public class IndexedRelationsSearcherBase { removedTerm = new Term(key, (String) keyValue); } else { // FIXME: should throw an exception for illegal input data but this would leave the index in an incoherent state + getLogger().error("Attempting to remove document from index of {} with key {} and unrecognized key value type {} : {}", input, key, keyValue, keyValue != null ? keyValue.getClass() : "null"); continue; } @@ -433,7 +434,7 @@ abstract public class IndexedRelationsSearcherBase { boolean done = false; if(requireChangeInfoOnReplace()) { TopDocs exist = searcher.search(new TermQuery(removedTerm), null, 2); - if(exist.scoreDocs.length == 1 && requireChangeInfoOnReplace()) { + if(exist.scoreDocs.length == 1) { Document doc = reader.document(exist.scoreDocs[0].doc); if(!areSame(doc, document)) { writer.deleteDocuments(removedTerm); @@ -504,7 +505,7 @@ abstract public class IndexedRelationsSearcherBase { */ final IndexSchema schema; - Resource input; + final Resource input; Path indexPath; @@ -529,6 +530,14 @@ abstract public class IndexedRelationsSearcherBase { this.schema = IndexSchema.readFromRelation(session, relation); } + public Resource getRelation() { + return relation; + } + + public Resource getInput() { + return input; + } + Directory getDirectory(Session session) throws IOException { return FSDirectory.open(indexPath.toFile()); }