You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by to...@apache.org on 2015/03/09 12:28:21 UTC
svn commit: r1665191 - in /jackrabbit/oak/branches/1.0/oak-solr-core/src:
main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/
main/resources/solr/oak/conf/
test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/
test/resources/solr/oak/...
Author: tommaso
Date: Mon Mar 9 11:28:21 2015
New Revision: 1665191
URL: http://svn.apache.org/r1665191
Log:
OAK-1658 - backported to branch 1.0
Modified:
jackrabbit/oak/branches/1.0/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParser.java
jackrabbit/oak/branches/1.0/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml
jackrabbit/oak/branches/1.0/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTestIT.java
jackrabbit/oak/branches/1.0/oak-solr-core/src/test/resources/solr/oak/conf/schema.xml
Modified: jackrabbit/oak/branches/1.0/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParser.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParser.java?rev=1665191&r1=1665190&r2=1665191&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParser.java (original)
+++ jackrabbit/oak/branches/1.0/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParser.java Mon Mar 9 11:28:21 2015
@@ -94,6 +94,11 @@ class FilterQueryParser {
kv[1] = "_query_:\"{!dismax qf=" + fields + " q.op=OR}" + kv[1] + "\"";
}
}
+ if ("mlt.fl".equals(kv[0]) && ":path".equals(kv[1])) {
+ // rep:similar passes the path of the node to find similar documents for in the :path
+ // but needs its indexed content to find similar documents
+ kv[1] = configuration.getCatchAllField();
+ }
solrQuery.setParam(kv[0], kv[1]);
}
}
Modified: jackrabbit/oak/branches/1.0/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml?rev=1665191&r1=1665190&r2=1665191&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml Mon Mar 9 11:28:21 2015
@@ -95,18 +95,18 @@
<fieldType name="pdouble" class="solr.DoubleField"/>
<fieldType name="pdate" class="solr.DateField" sortMissingLast="true"/>
- <fieldType name="currency" class="solr.CurrencyField" precisionStep="8" defaultCurrency="USD" currencyConfig="currency.xml" />
- <fieldtype name="ignored" stored="false" indexed="false" multiValued="true" class="solr.StrField"/>
- </types>
- <fields>
- <field name="path_exact" type="string" indexed="true" stored="true"/>
- <field name="path_child" type="children_path" indexed="true" stored="false"/>
- <field name="path_anc" type="parent_path" indexed="true" stored="false"/>
- <field name="path_des" type="descendent_path" indexed="true" stored="false"/>
- <field name="ignored" type="ignored" multiValued="true"/>
- <field name="catch_all" type="text_general" indexed="true" stored="false" multiValued="true"/>
- <field name="_version_" type="long" indexed="true" stored="true"/>
- <field name=":path" type="string" indexed="true" stored="false"/>
+ <fieldType name="currency" class="solr.CurrencyField" precisionStep="8" defaultCurrency="USD"
+ currencyConfig="currency.xml"/>
+ <fieldtype name="ignored" stored="false" indexed="false" multiValued="true" class="solr.StrField"/>
+ </types>
+ <fields>
+ <field name="path_exact" type="string" indexed="true" stored="true"/>
+ <field name="path_child" type="children_path" indexed="true" stored="false"/>
+ <field name="path_anc" type="parent_path" indexed="true" stored="false"/>
+ <field name="path_des" type="descendent_path" indexed="true" stored="false"/>
+ <field name="catch_all" type="text_general" indexed="true" stored="false" multiValued="true" termVectors="true"/> <!-- term vectors used for rep:similar -->
+ <field name=":path" type="string" indexed="true" stored="false" />
+ <field name="_version_" type="long" indexed="true" stored="true"/>
<dynamicField name="*_i" type="int" indexed="true" stored="true"/>
<dynamicField name="*_is" type="int" indexed="true" stored="true" multiValued="true"/>
Modified: jackrabbit/oak/branches/1.0/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTestIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTestIT.java?rev=1665191&r1=1665190&r2=1665191&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTestIT.java (original)
+++ jackrabbit/oak/branches/1.0/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTestIT.java Mon Mar 9 11:28:21 2015
@@ -281,6 +281,26 @@ public class SolrIndexQueryTestIT extend
}
@Test
+ public void testRepSimilarXPathQuery() throws Exception {
+ String query = "//element(*, nt:base)[rep:similar(., '/test/a')]";
+ Tree test = root.getTree("/").addChild("test");
+ test.addChild("a").setProperty("text", "Hello World Hello World");
+ test.addChild("b").setProperty("text", "Hello World");
+ test.addChild("c").setProperty("text", "World");
+ test.addChild("d").setProperty("text", "Hello");
+ test.addChild("e").setProperty("text", "World");
+ test.addChild("f").setProperty("text", "Hello");
+ test.addChild("g").setProperty("text", "World");
+ test.addChild("h").setProperty("text", "Hello");
+ root.commit();
+ Iterator<String> result = executeQuery(query, "xpath").iterator();
+ assertTrue(result.hasNext());
+ assertEquals("/test/b", result.next());
+ assertTrue(result.hasNext());
+ assertEquals("/test/c", result.next());
+ }
+
+ @Test
public void nativeSolr() throws Exception {
test("native_solr.txt");
}
Modified: jackrabbit/oak/branches/1.0/oak-solr-core/src/test/resources/solr/oak/conf/schema.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-solr-core/src/test/resources/solr/oak/conf/schema.xml?rev=1665191&r1=1665190&r2=1665191&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-solr-core/src/test/resources/solr/oak/conf/schema.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-solr-core/src/test/resources/solr/oak/conf/schema.xml Mon Mar 9 11:28:21 2015
@@ -110,7 +110,7 @@
<field name="path_anc" type="parent_path" indexed="true" stored="false"/>
<field name="path_des" type="descendent_path" indexed="true" stored="false"/>
<field name="ignored" type="ignored" />
- <field name="catch_all" type="text_general" indexed="true" stored="false" multiValued="true"/>
+ <field name="catch_all" type="text_general" indexed="true" stored="false" multiValued="true" termVectors="true"/> <!-- term vectors used for rep:similar -->
<field name="_version_" type="long" indexed="true" stored="true"/>
<field name=":path" type="string" indexed="true" stored="false"/>