Author: natalia
Date: Fri Oct 19 17:35:10 2007
New Revision: 586648
URL: http://svn.apache.org/viewvc?rev=586648&view=rev
Log:
Tests for the new full text search XPath function
Modified:
xml/xindice/trunk/java/tests/src/org/apache/xindice/core/query/XPathQueryResolverTest.java
xml/xindice/trunk/java/tests/src/org/apache/xindice/integration/client/services/IndexedSearchTest.java
Modified:
xml/xindice/trunk/java/tests/src/org/apache/xindice/core/query/XPathQueryResolverTest.java
URL:
http://svn.apache.org/viewvc/xml/xindice/trunk/java/tests/src/org/apache/xindice/core/query/XPathQueryResolverTest.java?rev=586648&r1=586647&r2=586648&view=diff
==============================================================================
---
xml/xindice/trunk/java/tests/src/org/apache/xindice/core/query/XPathQueryResolverTest.java
(original)
+++
xml/xindice/trunk/java/tests/src/org/apache/xindice/core/query/XPathQueryResolverTest.java
Fri Oct 19 17:35:10 2007
@@ -238,6 +238,21 @@
assertNotNull("Complex query didn't return a node", node);
}
+ public void testFullTextXPathQuery() throws Exception {
+ Object node = null;
+ XPathQueryResolver queryResolv = new XPathQueryResolver();
+ NodeSet nodeSet =
+ queryResolv.query(
+ col,
+
"/terrainmap/coordinates//node()[ftcontains('text')]/latitude/text()",
+ null,
+ null);
+ if (nodeSet.hasMoreNodes()) {
+ node = nodeSet.getNextNode();
+ }
+ assertNotNull("Full text query didn't return a node", node);
+ }
+
public void tearDown() throws Exception {
if (--tests == 0) {
db.dropCollection(col);
Modified:
xml/xindice/trunk/java/tests/src/org/apache/xindice/integration/client/services/IndexedSearchTest.java
URL:
http://svn.apache.org/viewvc/xml/xindice/trunk/java/tests/src/org/apache/xindice/integration/client/services/IndexedSearchTest.java?rev=586648&r1=586647&r2=586648&view=diff
==============================================================================
---
xml/xindice/trunk/java/tests/src/org/apache/xindice/integration/client/services/IndexedSearchTest.java
(original)
+++
xml/xindice/trunk/java/tests/src/org/apache/xindice/integration/client/services/IndexedSearchTest.java
Fri Oct 19 17:35:10 2007
@@ -316,10 +316,19 @@
*/
public void createIndex() throws Exception {
if (!itsIndexCreated) {
- client.createIndexer(COLLECTION_PATH,
- "<?xml version='1.0'?><index name='" +
itsTestIndexName + "' " +
- "class='org.apache.xindice.core.indexer."
+ itsTestIndexType + "Indexer' " +
- "pattern='" + itsTestIndexPattern + "'
/>");
+ String config;
+ if ("Lucene".equals(itsTestIndexType)) {
+ config = "<?xml version='1.0'?><index name='" +
itsTestIndexName + "' " +
+ "class='org.apache.xindice.core.indexer." +
itsTestIndexType + "Indexer'>" +
+ "<pattern pattern='" + itsTestIndexPattern + "'
alias=\"field\"/>" +
+ "</index>";
+ } else {
+ config = "<?xml version='1.0'?><index name='" +
itsTestIndexName + "' " +
+ "class='org.apache.xindice.core.indexer." +
itsTestIndexType + "Indexer' " +
+ "pattern='" + itsTestIndexPattern + "' />";
+ }
+
+ client.createIndexer(COLLECTION_PATH, config);
itsIndexCreated = true;
// Wait for the indexer to do the background indexing
@@ -874,6 +883,54 @@
"<number given='no' />" +
"</street>" +
"</address>"
+ });
+
+ aTest.runTest();
+ }
+
+ /**
+ * Tests an full text search query for an Element value that should be
resolvable using
+ * indexed searching on a text index.
+ */
+ public void testSpecificElementNoAttributeTextIndexedSearch() throws
Exception {
+ // search all records whose address is empty
+ IndexerTestDefinition aTest = new IndexerTestDefinition(
+ "testSpecificElementNoAttributeTextIndexedSearch", //
description
+ "//person[info[ftcontains('text')]]/[EMAIL PROTECTED] =
'yes']", // query
+ "SENA", // index name
+ "Lucene", // index type
+ "info", // index pattern
+ 8, // indexed query speedup expected
(conservative)
+ new String[] { // test docs specifically for this
test
+ "<?xml version='1.0'?>" +
+ "<person number3='yes'>" +
+ "<first surname='no' given='yes'>Sally</first>" +
+ "<last surname='yes'>Smith</last>" +
+ "<phone call='no' type='work'>555-345-6789</phone>" +
+ "<address>" +
+ "<street>" +
+ "<number given='no' />" +
+ "</street>" +
+ "</address>" +
+ "<info>test test another test</info>" +
+ "</person>",
+
+ "<?xml version='1.0'?>" +
+ "<person number3='yes'>" +
+ "<first surname='no' given='yes'>Sally</first>" +
+ "<last surname='yes'>Smithers</last>" +
+ "<phone call='no' type='work'>555-345-6789</phone>" +
+ "<address>" +
+ "<street>" +
+ "<number given='no' />Main St" +
+ "</street>" +
+ "</address>" +
+ "<info>test test some more text</info>" +
+ "</person>"
+ },
+ 1, // expected result count
+ new Object[] { // expected resources to check for
(can be empty or partial set)
+ new Integer(1), "<last surname='yes'>Smithers</last>"
});
aTest.runTest();