You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2017/12/01 19:09:03 UTC
[03/14] jena git commit: use get vs getValues in query$;
log trace for Lucene dev
use get vs getValues in query$; log trace for Lucene dev
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/e1445711
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/e1445711
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/e1445711
Branch: refs/heads/master
Commit: e14457115e638b33dcd8923f22c2ff3655309ab0
Parents: e2d6b89
Author: Chris Tomlinson <ct...@moonvine.org>
Authored: Fri Nov 24 18:22:58 2017 -0600
Committer: Chris Tomlinson <ct...@moonvine.org>
Committed: Fri Nov 24 18:22:58 2017 -0600
----------------------------------------------------------------------
.../java/org/apache/jena/query/text/Entity.java | 4 ++
.../apache/jena/query/text/TextIndexLucene.java | 51 ++++++++++++--------
2 files changed, 34 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/e1445711/jena-text/src/main/java/org/apache/jena/query/text/Entity.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/Entity.java b/jena-text/src/main/java/org/apache/jena/query/text/Entity.java
index 83e34c6..4ae2577 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/Entity.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/Entity.java
@@ -72,5 +72,9 @@ public class Entity
public String toString() {
return id+" : "+map ;
}
+
+ public String toStringDetail() {
+ return id+" : "+graph+" : "+language+" : "+datatype+" : "+map ;
+ }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/e1445711/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
index 355e4c7..c4571d3 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
@@ -204,7 +204,10 @@ public class TextIndexLucene implements TextIndex {
@Override public void updateEntity(Entity entity) {
if ( log.isDebugEnabled() )
- log.debug("Update entity: " + entity) ;
+ if (log.isTraceEnabled() && entity != null)
+ log.trace("Update entity: " + entity.toStringDetail()) ;
+ else
+ log.debug("Update entity: " + entity) ;
try {
updateDocument(entity);
} catch (IOException e) {
@@ -216,14 +219,17 @@ public class TextIndexLucene implements TextIndex {
Document doc = doc(entity);
Term term = new Term(docDef.getEntityField(), entity.getId());
indexWriter.updateDocument(term, doc);
- if ( log.isDebugEnabled() )
- log.debug("updated: "+doc) ;
+ if ( log.isTraceEnabled() )
+ log.trace("updated: "+doc) ;
}
@Override
public void addEntity(Entity entity) {
if ( log.isDebugEnabled() )
- log.debug("Add entity: " + entity) ;
+ if (log.isTraceEnabled() && entity != null)
+ log.trace("Add entity: " + entity.toStringDetail()) ;
+ else
+ log.debug("Add entity: " + entity) ;
try {
addDocument(entity);
}
@@ -235,8 +241,8 @@ public class TextIndexLucene implements TextIndex {
protected void addDocument(Entity entity) throws IOException {
Document doc = doc(entity) ;
indexWriter.addDocument(doc) ;
- if ( log.isDebugEnabled() )
- log.debug("added: "+doc) ;
+ if ( log.isTraceEnabled() )
+ log.trace("added: "+doc) ;
}
@Override
@@ -245,7 +251,10 @@ public class TextIndexLucene implements TextIndex {
return;
if ( log.isDebugEnabled() )
- log.debug("Delete entity: "+entity) ;
+ if (log.isTraceEnabled() && entity != null)
+ log.trace("Delete entity: " + entity.toStringDetail()) ;
+ else
+ log.debug("Delete entity: "+entity) ;
try {
Map<String, Object> map = entity.getMap();
String property = map.keySet().iterator().next();
@@ -430,18 +439,20 @@ public class TextIndexLucene implements TextIndex {
for ( ScoreDoc sd : sDocs ) {
Document doc = indexSearcher.doc(sd.doc) ;
- if ( log.isDebugEnabled() )
- log.debug("query$ found: "+doc) ;
- String[] values = doc.getValues(docDef.getEntityField()) ;
+ if ( log.isTraceEnabled() )
+ log.trace("query$ found: "+doc) ;
+ String entity = doc.get(docDef.getEntityField()) ;
Node literal = null;
+ // the following is why no literal is bound when the field is included directly
+ // in the query string rather than explicitly as the property argument, except
+ // when the field is the primaryField. There would need to be an analysis of the
+ // query string in order to extract the field name (if any)
String field = (property != null) ? docDef.getField(property) : docDef.getPrimaryField();
- String[] lexicals = doc.getValues(field) ;
- if (lexicals.length > 0) {
- String lexical = lexicals[0];
- String[] langs = doc.getValues(docDef.getLangField()) ;
- if (langs.length > 0) {
- String doclang = langs[0];
+ String lexical = doc.get(field) ;
+ if (lexical != null) {
+ String doclang = doc.get(docDef.getLangField()) ;
+ if (doclang != null) {
if (doclang.startsWith(DATATYPE_PREFIX)) {
String datatype = doclang.substring(DATATYPE_PREFIX.length());
TypeMapper tmap = TypeMapper.getInstance();
@@ -454,11 +465,9 @@ public class TextIndexLucene implements TextIndex {
}
}
- for ( String v : values ) {
- Node n = TextQueryFuncs.stringToNode(v) ;
- TextHit hit = new TextHit(n, sd.score, literal);
- results.add(hit) ;
- }
+ Node subject = TextQueryFuncs.stringToNode(entity) ;
+ TextHit hit = new TextHit(subject, sd.score, literal);
+ results.add(hit) ;
}
return results ;
}