Author: ito
Date: Wed May 4 14:30:43 2011
New Revision: 1099460
URL: http://svn.apache.org/viewvc?rev=1099460&view=rev
Log:
CLEREZZA-501: improved lucene indexsearcher and writer
Modified:
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/GraphIndexer.java
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/LuceneTools.java
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/VirtualProperty.java
Modified:
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/GraphIndexer.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/GraphIndexer.java?rev=1099460&r1=1099459&r2=1099460&view=diff
==============================================================================
---
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/GraphIndexer.java
(original)
+++
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/GraphIndexer.java
Wed May 4 14:30:43 2011
@@ -79,17 +79,24 @@ public class GraphIndexer extends Resour
private Map<VirtualProperty, Set<UriRef>> property2TypeMap = new
HashMap<VirtualProperty, Set<UriRef>>();
private Map<UriRef, Set<VirtualProperty>> property2IncludingVProperty =
new HashMap<UriRef, Set<VirtualProperty>>();
ReindexThread reindexer;
+ private final GraphListener listener1;
+ private final GraphListener listener2;
//TODO
class ReindexThread extends Thread {
Set<Resource> resourcesToProcess;
+ boolean stop = false;
ReindexThread() {
resourcesToProcess = Collections.synchronizedSet(new
HashSet<Resource>());
}
+ void stopThread() {
+ stop = true;
+ }
+
@Override
public void run() {
final ReindexThread that = this;
@@ -97,7 +104,8 @@ public class GraphIndexer extends Resour
@Override
public Object run() {
- while (true) {
+ while (!stop) {
+// System.out.println("THREAD
running");
try {
if
(resourcesToProcess.size() < 50) {
sleep(100);
@@ -120,6 +128,7 @@ public class GraphIndexer extends Resour
}
}
+ return null;
}
});
}
@@ -146,10 +155,11 @@ public class GraphIndexer extends Resour
//TODO
//reindexer.setDaemon(true);
- baseGraph.addGraphListener(new GraphListener() {
+ listener1 = new GraphListener() {
@Override
public void graphChanged(List<GraphEvent> events) {
+ System.out.println("LALALALLALALALALLALA");
for (GraphEvent e : events) {
Triple triple = e.getTriple();
logger.debug("processing addition of
type " + triple.getObject());
@@ -160,12 +170,15 @@ public class GraphIndexer extends Resour
}
}
- }, new FilterTriple(null, RDF.type, null));
+ };
- baseGraph.addGraphListener(new GraphListener() {
+ baseGraph.addGraphListener(listener1, new FilterTriple(null,
RDF.type, null));
+
+ listener2 = new GraphListener() {
@Override
public void graphChanged(List<GraphEvent> events) {
+ System.out.println("LALALALLALALALALLALA2");
for (GraphEvent e : events) {
logger.info("Triple: " + e.getTriple());
Triple triple = e.getTriple();
@@ -200,20 +213,25 @@ public class GraphIndexer extends Resour
}
}
- }, new FilterTriple(null, null, null) {
+ };
+
+ baseGraph.addGraphListener(listener2, new FilterTriple(null,
null, null) {
@Override
public boolean match(Triple triple) {
+ System.out.println("MATCH START");
UriRef predicate = triple.getPredicate();
//check indirectly involved properties
Set<VirtualProperty> vProperties =
property2IncludingVProperty.get(predicate);
if (vProperties != null) {
for (VirtualProperty vProperty :
vProperties) {
if
(property2TypeMap.containsKey(vProperty)) {
+
System.out.println("MATCH TRUE");
return true;
}
}
}
+ System.out.println("MATCH FALSE");
return false;
}
});
@@ -226,6 +244,9 @@ public class GraphIndexer extends Resour
}
public void closeLuceneIndex() {
+ this.baseGraph.removeGraphListener(listener1);
+ this.baseGraph.removeGraphListener(listener2);
+ this.reindexer.stopThread();
this.luceneTools.closeIndexSearcher();
this.luceneTools.closeIndexWriter();
}
@@ -260,7 +281,7 @@ public class GraphIndexer extends Resour
this(definitionGraph, baseGraph, new RAMDirectory(), true);
}
- protected void processDefinitions() {
+ final protected void processDefinitions() {
Iterator<Triple> indexDefinitionResources =
this.definitionGraph.filter(null, RDF.type, CRIS.IndexDefinition);
@@ -403,6 +424,7 @@ public class GraphIndexer extends Resour
IndexSearcher searcher = luceneTools.getIndexSearcher();
TopScoreDocCollector testCollector =
TopScoreDocCollector.create(1, true);
try {
+ logger.info(booleanQuery.toString());
searcher.search(booleanQuery, testCollector);
} catch (IOException ex) {
}
Modified:
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/LuceneTools.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/LuceneTools.java?rev=1099460&r1=1099459&r2=1099460&view=diff
==============================================================================
---
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/LuceneTools.java
(original)
+++
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/LuceneTools.java
Wed May 4 14:30:43 2011
@@ -180,11 +180,13 @@ public class LuceneTools {
*
*/
public void closeIndexWriter() {
+ System.out.println("H--------------------------------");
try {
if(indexWriter != null) {
//TODO do this in an extra thread, execution
time configurable
//call optimize only when necessary
if(!indexWriter.getReader().isOptimized()) {
+
System.out.println("E--------------------------------");
indexWriter.optimize();
}
indexWriter.close();
Modified:
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/VirtualProperty.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/VirtualProperty.java?rev=1099460&r1=1099459&r2=1099460&view=diff
==============================================================================
---
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/VirtualProperty.java
(original)
+++
incubator/clerezza/issues/CLEREZZA-501/rdf.cris/core/src/main/java/org/apache/clerezza/rdf/cris/VirtualProperty.java
Wed May 4 14:30:43 2011
@@ -44,6 +44,14 @@ public abstract class VirtualProperty {
*/
Set<UriRef> baseProperties;
+ public String getStringKey() {
+ return stringKey;
+ }
+
+ public Set<UriRef> getBaseProperties() {
+ return baseProperties;
+ }
+
protected abstract List<String> value(GraphNode node);
/**