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 2014/01/14 14:45:06 UTC
svn commit: r1558035 - in /jena/trunk/jena-text/src:
main/java/org/apache/jena/query/text/
main/java/org/apache/jena/query/text/assembler/
test/java/org/apache/jena/query/text/
Author: andy
Date: Tue Jan 14 13:45:06 2014
New Revision: 1558035
URL: http://svn.apache.org/r1558035
Log:
Don't automatically add the default field; instead, rely on the
Lucene or Solr query to handle default field.
Set the default field in the Solr query.
Add test cases for default field.
Modified:
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexSolrAssembler.java
jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndex.java
jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java
Modified: jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java?rev=1558035&r1=1558034&r2=1558035&view=diff
==============================================================================
--- jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java (original)
+++ jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java Tue Jan 14 13:45:06 2014
@@ -29,6 +29,7 @@ import org.apache.solr.client.solrj.util
import org.apache.solr.common.SolrDocument ;
import org.apache.solr.common.SolrDocumentList ;
import org.apache.solr.common.SolrInputDocument ;
+import org.apache.solr.common.params.CommonParams ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
@@ -193,6 +194,8 @@ public class TextIndexSolr implements Te
else
sq.setRows(MAX_N) ; // The Solr default is 10.
try {
+ // Set default field.
+ sq.add(CommonParams.DF, docDef.getPrimaryField()) ;
QueryResponse rsp = solrServer.query( sq ) ;
SolrDocumentList docs = rsp.getResults();
return docs ;
Modified: jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java?rev=1558035&r1=1558034&r2=1558035&view=diff
==============================================================================
--- jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java (original)
+++ jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java Tue Jan 14 13:45:06 2014
@@ -214,7 +214,7 @@ public class TextQueryPF extends Propert
throw new TextIndexException("Change in object list size") ;
Node predicate = null ;
- String field = docDef.getPrimaryField() ;
+ String field = null ; // Do not prepend the feild name - rely on default field
int idx = 0 ;
Node x = list.get(0) ;
// Property?
Modified: jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexSolrAssembler.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexSolrAssembler.java?rev=1558035&r1=1558034&r2=1558035&view=diff
==============================================================================
--- jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexSolrAssembler.java (original)
+++ jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexSolrAssembler.java Tue Jan 14 13:45:06 2014
@@ -44,16 +44,16 @@ public class TextIndexSolrAssembler exte
*/
@Override
- public TextIndex open(Assembler a, Resource root, Mode mode)
- {
+ public TextIndex open(Assembler a, Resource root, Mode mode) {
String uri = GraphUtils.getResourceValue(root, pServer).getURI() ;
SolrServer server ;
- if ( uri.startsWith("embedded:") )
- {
+ if ( uri.startsWith("embedded:") ) {
throw new TextIndexException("Embedded Solr server not supported (change code and dependencies to enable)") ;
// String coreName = uri.substring("embedded:".length()) ;
// CoreContainer.Initializer initializer = new CoreContainer.Initializer();
-// CoreContainer coreContainer = initializer.initialize();
+// CoreContainer coreContainer ;
+// try { coreContainer = initializer.initialize() ; }
+// catch (Exception e) { throw new TextIndexException("Filed to initialize embedded solr", e) ; }
// server = new EmbeddedSolrServer(coreContainer, coreName);
}
else if ( uri.startsWith("http://") )
Modified: jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndex.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndex.java?rev=1558035&r1=1558034&r2=1558035&view=diff
==============================================================================
--- jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndex.java (original)
+++ jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndex.java Tue Jan 14 13:45:06 2014
@@ -89,7 +89,23 @@ public abstract class AbstractTestDatase
QUERY_PROLOG,
"SELECT ?s",
"WHERE {",
- " ?s text:query ( rdfs:label 'text') .",
+ " ?s text:query (rdfs:label 'text') .",
+ "}"
+ );
+ Set<String> expectedURIs = new HashSet<String>();
+ expectedURIs.addAll( Arrays.asList( R_S1 ) ) ;
+ doTestSearch(turtle, queryString, expectedURIs);
+ }
+
+ @Test
+ public void propertyFunctionText_1_dft() {
+ // As before but using default field.
+ final String turtle = PF_DATA ;
+ String queryString = StrUtils.strjoinNL(
+ QUERY_PROLOG,
+ "SELECT ?s",
+ "WHERE {",
+ " ?s text:query ('text') .",
"}"
);
Set<String> expectedURIs = new HashSet<String>();
@@ -114,6 +130,22 @@ public abstract class AbstractTestDatase
}
@Test
+ public void propertyFunctionText_2_dft() {
+ final String turtle = PF_DATA ;
+ String queryString = StrUtils.strjoinNL(
+ QUERY_PROLOG,
+ "SELECT ?s",
+ "WHERE {",
+ " ?s text:query ('text') .",
+ " ?s rdfs:label 'text' .",
+ "}"
+ );
+ Set<String> expectedURIs = new HashSet<String>();
+ expectedURIs.addAll( Arrays.asList( R_S1 ) ) ;
+ doTestSearch(turtle, queryString, expectedURIs);
+ }
+
+ @Test
public void propertyFunctionText_3() {
final String turtle = PF_DATA ;
String queryString = StrUtils.strjoinNL(
@@ -130,6 +162,22 @@ public abstract class AbstractTestDatase
}
@Test
+ public void propertyFunctionText_3_dft() {
+ final String turtle = PF_DATA ;
+ String queryString = StrUtils.strjoinNL(
+ QUERY_PROLOG,
+ "SELECT ?s",
+ "WHERE {",
+ " ?s rdfs:label 'text' .",
+ " ?s text:query ('text') .",
+ "}"
+ );
+ Set<String> expectedURIs = new HashSet<String>();
+ expectedURIs.addAll( Arrays.asList( R_S1 ) ) ;
+ doTestSearch(turtle, queryString, expectedURIs);
+ }
+
+ @Test
public void propertyFunctionText_4() {
final String turtle = PF_DATA ;
String queryString = StrUtils.strjoinNL(
@@ -222,6 +270,33 @@ public abstract class AbstractTestDatase
}
@Test
+ public void testMultipleResults_dft() {
+ String label = "testMultipleResults";
+ final String turtle = StrUtils.strjoinNL(
+ TURTLE_PROLOG,
+ "<" + RESOURCE_BASE + label +"1>",
+ " rdfs:label '" + label + "1'",
+ ".",
+ "<" + RESOURCE_BASE + label + "2>",
+ " rdfs:label '" + label + "2'",
+ "."
+ );
+ String queryString = StrUtils.strjoinNL(
+ QUERY_PROLOG,
+ "SELECT ?s",
+ "WHERE {",
+ " ?s text:query ('" + label + "?' 10 ) .",
+ "}"
+ );
+ Set<String> expectedURIs = new HashSet<String>() ;
+ expectedURIs.addAll( Arrays.asList(
+ "http://example.org/data/resource/" + label + "1",
+ "http://example.org/data/resource/" + label + "2"
+ ));
+ doTestSearch(turtle, queryString, expectedURIs);
+ }
+
+ @Test
public void testSearchCorrectField() {
String label = "tscf";
String label2 = "tscfo";
@@ -292,6 +367,35 @@ public abstract class AbstractTestDatase
}
@Test
+ public void testSearchDefaultField_dft() {
+ String label = "testSearchDefaultField";
+ String label2 = "testSearchDefaultFieldOther";
+ final String turtle = StrUtils.strjoinNL(
+ TURTLE_PROLOG,
+ "<" + RESOURCE_BASE + label +"1>",
+ " rdfs:label '" + label + "1' ; ",
+ " rdfs:comment '" + label2 + "1' ;",
+ ".",
+ "<" + RESOURCE_BASE + label + "2>",
+ " rdfs:label '" + label2 + "2' ; ",
+ " rdfs:comment '" + label + "2' ; ",
+ "."
+ );
+ String queryString = StrUtils.strjoinNL(
+ QUERY_PROLOG,
+ "SELECT ?s",
+ "WHERE {",
+ " ?s text:query ('" + label + "?' 10 ) .",
+ "}"
+ );
+ Set<String> expectedURIs = new HashSet<String>() ;
+ expectedURIs.addAll( Arrays.asList(
+ "http://example.org/data/resource/" + label + "1"
+ ));
+ doTestSearch("default field:", turtle, queryString, expectedURIs);
+ }
+
+ @Test
public void testSearchLimitsResults() {
String label = "testSearchLimitsResults";
final String turtle = StrUtils.strjoinNL(
Modified: jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java?rev=1558035&r1=1558034&r2=1558035&view=diff
==============================================================================
--- jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java (original)
+++ jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java Tue Jan 14 13:45:06 2014
@@ -31,8 +31,10 @@ import org.junit.runners.Suite.SuiteClas
TestBuildTextDataset.class
, TestDatasetWithLuceneTextIndex.class
, TestDatasetWithLuceneGraphTextIndex.class
+
// Embedded solr not supported
//, TestDatasetWithEmbeddedSolrTextIndex.class
+
, TestSearchBeforeWriteOnDatasetWithLuceneTextIndex.class
, TestEntityMapAssembler.class
, TestTextDatasetAssembler.class