You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by si...@apache.org on 2011/05/02 15:51:22 UTC
svn commit: r1098566 [18/22] - in /lucene/dev/branches/docvalues: ./
dev-tools/eclipse/ dev-tools/idea/.idea/ dev-tools/idea/lucene/contrib/ant/
dev-tools/idea/lucene/contrib/db/bdb-je/
dev-tools/idea/lucene/contrib/db/bdb/ dev-tools/idea/lucene/contri...
Modified: lucene/dev/branches/docvalues/solr/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/build.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/build.xml (original)
+++ lucene/dev/branches/docvalues/solr/build.xml Mon May 2 13:50:57 2011
@@ -120,7 +120,7 @@
<!-- Compile the project. -->
<target name="compile"
description="Compile the source code."
- depends="validate-solr, compile-solrj">
+ depends="compile-solrj">
<solr-javac destdir="${dest}/solr"
classpathref="compile.classpath.solrj">
@@ -176,6 +176,24 @@
</sequential>
</target>
+ <target name="javadoc-test-framework" depends="compileTestFramework,javadoc-dep"
+ description="Generates javadoc documentation for the Solr test-framework.">
+ <sequential>
+ <mkdir dir="${build.javadoc}/test-framework"/>
+
+ <path id="javadoc.classpath">
+ <path refid="testframework.compile.classpath"/>
+ </path>
+
+ <invoke-javadoc
+ destdir="${build.javadoc}/test-framework"
+ title="${Name} ${version} Test Framework API (${specversion})">
+ <sources>
+ <packageset dir="${src}/test-framework" />
+ </sources>
+ </invoke-javadoc>
+ </sequential>
+ </target>
<target name="javadoc-all" depends="compile,javadoc-dep" description="Generate javadoc for core, client and contrib">
<sequential>
@@ -187,6 +205,7 @@
<fileset dir="contrib">
<include name="**/lib/**/*.jar"/>
<include name="**/lucene-libs/**/*.jar"/>
+ <exclude name="**/analysis-extras/lib/**/*icu4j*.jar"/> <!-- extraction/lib/ has this one -->
</fileset>
<pathelement location="${dest}/client/solrj"/>
</path>
@@ -220,8 +239,9 @@
failonerror="true"/>
</target>
- <target name="javadoc" depends="javadoc-core, javadoc-contrib, javadoc-solrj, javadoc-all">
+ <target name="javadoc" depends="javadoc-core, javadoc-test-framework, javadoc-contrib, javadoc-solrj, javadoc-all">
</target>
+ <target name="javadocs" depends="javadoc"/>
<target name="stub-factories" depends="dist-jar"
description="Generates stub factories as needed">
@@ -318,13 +338,18 @@
<!-- Classpath for unit test compilation. -->
<!-- For now, it's the same as main classpath. Later it will have JUnit, Clover, etc. -->
- <path id="test.compile.classpath">
+ <path id="testframework.compile.classpath">
<path refid="compile.classpath" />
<path refid="compile.classpath.solrj" />
<pathelement location="${dest}/solr"/>
<pathelement location="${dest}/solrj"/> <!-- include solrj -->
<pathelement location="${common-solr.dir}/../lucene/build/classes/test-framework" /> <!-- include some lucene test code -->
</path>
+
+ <path id="test.compile.classpath">
+ <path refid="testframework.compile.classpath"/>
+ <pathelement location="${dest}/test-framework"/> <!-- include some solr test code -->
+ </path>
<path id="test.run.classpath">
<path refid="test.compile.classpath" />
@@ -335,10 +360,19 @@
<pathelement path="${java.class.path}"/>
</path>
+ <target name="compileTestFramework" depends="compile,compile-solrj">
+ <mkdir dir="${dest}/test-framework"/>
+ <solr-javac
+ destdir="${dest}/test-framework"
+ classpathref="testframework.compile.classpath">
+ <src path="${src}/test-framework"/>
+ </solr-javac>
+ </target>
+
<!-- Compile unit tests. -->
<target name="compileTests"
description="Compile unit tests."
- depends="compile,compile-solrj">
+ depends="compileTestFramework">
<mkdir dir="${dest}/tests" />
<solr-javac
@@ -360,7 +394,7 @@
<!-- Run contrib unit tests. -->
<target name="test"
description="Runs the core unit tests."
- depends="test-core, test-contrib, test-jsp" />
+ depends="validate-solr, test-core, test-contrib, test-jsp" />
<target name="junit" depends="compileTests,junit-mkdir,junit-sequential,junit-parallel"/>
@@ -575,7 +609,7 @@
<!-- Creates the Solr distribution files. -->
<target name="dist"
description="Creates the Solr distribution files."
- depends="dist-solrj, dist-jar, dist-contrib, dist-war" />
+ depends="dist-solrj, dist-jar, dist-test-framework, dist-contrib, dist-war" />
<!-- Creates the Solr WAR file. -->
<target name="dist-war"
@@ -623,6 +657,9 @@
<fileset dir="${src}/webapp/src"/>
</solr-jar>
+ <solr-jar destfile="${dist}/${fullname}-test-framework-src-${version}.jar"
+ basedir="${src}/test-framework" />
+
<solr-jar destfile="${dist}/apache-solr-dataimporthandler-src-${version}.jar"
basedir="contrib/dataimporthandler/src/main/java" />
<solr-jar destfile="${dist}/apache-solr-dataimporthandler-extras-src-${version}.jar"
@@ -648,6 +685,8 @@
basedir="${build.javadoc}/solr" />
<solr-jar destfile="${dist}/${fullname}-solrj-docs-${version}.jar"
basedir="${build.javadoc}/solrj" />
+ <solr-jar destfile="${dist}/${fullname}-test-framework-docs-${version}.jar"
+ basedir="${build.javadoc}/test-framework" />
<solr-jar destfile="${dist}/apache-solr-dataimporthandler-docs-${version}.jar"
basedir="${build.javadoc}/contrib-solr-dataimporthandler" />
<solr-jar destfile="${dist}/apache-solr-clustering-docs-${version}.jar"
@@ -671,6 +710,16 @@
</target>
+ <!-- Creates the test-framework jar -->
+ <target name="dist-test-framework"
+ description="Creates the Solr test-framework JAR."
+ depends="compileTestFramework">
+ <mkdir dir="${dist}" />
+ <solr-jar destfile="${dist}/${fullname}-test-framework-${version}.jar">
+ <fileset dir="${dest}/test-framework" />
+ </solr-jar>
+ </target>
+
<!-- Creates the solr jar. -->
<target name="dist-solrj"
description="Creates the Solr JAR Distribution file."
@@ -912,6 +961,7 @@
<sign-maven-artifacts artifact.id="solr-dataimporthandler-extras" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-artifacts artifact.id="solr-solrj" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-artifacts artifact.id="solr-uima" gpg.passphrase="${gpg.passphrase}"/>
+ <sign-maven-artifacts artifact.id="solr-test-framework" gpg.passphrase="${gpg.passphrase}"/>
<!-- These are special since there are no jars, just poms -->
<sign-artifact input.file="${maven.dist.prefix}/solr-parent/${version}/solr-parent-${version}.pom" gpg.passphrase="${gpg.passphrase}"/>
@@ -934,14 +984,14 @@
keyfile="${keyfile}"
verbose="true"
>
- <fileset dir="dist"/>
+ <fileset dir="package"/>
<fileset dir="${keys.dir}">
<include name="KEYS"/>
</fileset>
</scp>
</target>
- <target name="prepare-release" depends="clean, svn-up, package, sign-artifacts"
+ <target name="prepare-release" depends="clean, svn-up, package, generate-maven-artifacts, sign-artifacts"
description="Prototype helper for Committers. Assumes gpg is in the path"/>
<target name="stage" depends="prepare-release, copy-to-stage"/>
@@ -1052,6 +1102,14 @@
<m2-deploy pom.xml="src/webapp/pom.xml"
jar.file="${dist}/apache-solr-${version}.war"/>
+
+ <m2-deploy pom.xml="${src}/test-framework/pom.xml"
+ jar.file="${dist}/${fullname}-test-framework-${version}.jar">
+ <artifact-attachments>
+ <attach file="${dist}/${fullname}-test-framework-src-${version}.jar" classifier="sources"/>
+ <attach file="${dist}/${fullname}-test-framework-docs-${version}.jar" classifier="javadoc"/>
+ </artifact-attachments>
+ </m2-deploy>
</sequential>
</target>
Modified: lucene/dev/branches/docvalues/solr/common-build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/common-build.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/common-build.xml (original)
+++ lucene/dev/branches/docvalues/solr/common-build.xml Mon May 2 13:50:57 2011
@@ -330,6 +330,7 @@
</sequential>
</macrodef>
+ <property name="failonjavadocwarning" value="true"/>
<macrodef name="invoke-javadoc">
<element name="sources" optional="yes"/>
<attribute name="destdir"/>
@@ -339,6 +340,7 @@
<copy todir="@{destdir}/prettify" overwrite="false">
<fileset dir="${prettify.dir}"/>
</copy>
+ <record name="@{destdir}/log_javadoc.txt" action="start" append="no"/>
<javadoc
packagenames="org.apache.solr.*"
failonerror="true"
@@ -373,6 +375,24 @@
<classpath refid="javadoc.classpath"/>
</javadoc>
+ <record name="@{destdir}/log_javadoc.txt" action="stop"/>
+
+ <delete>
+ <fileset file="@{destdir}/log_javadoc.txt">
+ <not>
+ <containsregexp expression="\[javadoc\]\s*[1-9][0-9]*[\s]*warning"/>
+ </not>
+ </fileset>
+ </delete>
+
+ <fail message="Javadocs warnings were found!" >
+ <condition>
+ <and>
+ <available file="@{destdir}/log_javadoc.txt"/>
+ <istrue value="${failonjavadocwarning}"/>
+ </and>
+ </condition>
+ </fail>
</sequential>
</macrodef>
@@ -414,6 +434,8 @@
</sequential>
</macrodef>
+ <property name="gpg.exe" value="gpg" />
+ <property name="gpg.key" value="CODE SIGNING KEY" />
<macrodef name="sign-artifact" description="Signs the artifact">
<attribute name="input.file"/>
<attribute name="output.file" default="@{input.file}.asc"/>
@@ -421,10 +443,13 @@
<sequential>
<echo >Signing @{input.file} Sig File: @{output.file}</echo>
- <exec executable="gpg" >
+ <exec executable="${gpg.exe}" >
+ <arg value="--batch"/>
<arg value="--armor"/>
<arg value="--output"/>
<arg value="@{output.file}"/>
+ <arg value="--default-key"/>
+ <arg value="${gpg.key}"/>
<arg value="--passphrase"/>
<arg value="@{gpg.passphrase}"/>
<arg value="--detach-sig"/>
Modified: lucene/dev/branches/docvalues/solr/contrib/analysis-extras/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/analysis-extras/CHANGES.txt?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/analysis-extras/CHANGES.txt (original)
+++ lucene/dev/branches/docvalues/solr/contrib/analysis-extras/CHANGES.txt Mon May 2 13:50:57 2011
@@ -13,7 +13,9 @@ analyzers for Chinese and Polish.
$Id$
================== Release 4.0-dev ==================
-(No Changes)
+* SOLR-2396: Add ICUCollationField, which is much more efficient than
+ the Solr 3.x ICUCollationKeyFilterFactory, and also supports
+ Locale-sensitive range queries. (rmuir)
================== Release 3.2-dev ==================
Modified: lucene/dev/branches/docvalues/solr/contrib/analysis-extras/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/analysis-extras/build.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/analysis-extras/build.xml (original)
+++ lucene/dev/branches/docvalues/solr/contrib/analysis-extras/build.xml Mon May 2 13:50:57 2011
@@ -72,7 +72,7 @@
<pathelement path="${dest}/classes"/>
<pathelement path="${dest}/test-classes"/>
<pathelement path="${java.class.path}"/>
- <pathelement location="${common-solr.dir}/build/tests"/> <!-- include solr test code -->
+ <pathelement location="${common-solr.dir}/build/test-framework"/> <!-- include solr test code -->
<pathelement location="${common-solr.dir}/../lucene/build/classes/test-framework" /> <!-- include some lucene test code -->
<path refid="common.classpath"/>
</path>
@@ -92,7 +92,7 @@
<mkdir dir="${dest}/classes"/>
<mkdir dir="${build.javadoc}"/>
- <subant target="compileTests">
+ <subant target="compileTestFramework">
<fileset dir="${solr-path}" includes="build.xml"/>
</subant>
<subant target="make-manifest">
Modified: lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUCollationKeyFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUCollationKeyFilterFactory.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUCollationKeyFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUCollationKeyFilterFactory.java Mon May 2 13:50:57 2011
@@ -57,7 +57,9 @@ import com.ibm.icu.util.ULocale;
* @see Collator
* @see ULocale
* @see RuleBasedCollator
+ * @deprecated use {@link org.apache.solr.schema.ICUCollationField} instead.
*/
+@Deprecated
public class ICUCollationKeyFilterFactory extends BaseTokenFilterFactory implements ResourceLoaderAware {
private Collator collator;
Modified: lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestICUCollationKeyFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestICUCollationKeyFilterFactory.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestICUCollationKeyFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestICUCollationKeyFilterFactory.java Mon May 2 13:50:57 2011
@@ -34,6 +34,7 @@ import com.ibm.icu.text.Collator;
import com.ibm.icu.text.RuleBasedCollator;
import com.ibm.icu.util.ULocale;
+@Deprecated
public class TestICUCollationKeyFilterFactory extends BaseTokenTestCase {
/*
Modified: lucene/dev/branches/docvalues/solr/contrib/clustering/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/clustering/build.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/clustering/build.xml (original)
+++ lucene/dev/branches/docvalues/solr/contrib/clustering/build.xml Mon May 2 13:50:57 2011
@@ -41,8 +41,8 @@
<pathelement path="${dest}/classes"/>
<pathelement path="${dest}/test-classes"/>
<pathelement path="${java.class.path}"/>
- <pathelement location="${common-solr.dir}/build/tests"/> <!-- include solr test code -->
- <pathelement location="${common-solr.dir}/../lucene/build/classes/test-framework" /> <!-- include some lucene test code -->
+ <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
+ <pathelement location="${solr-path}/../lucene/build/classes/test-framework" /> <!-- include some lucene test code -->
<path refid="common.classpath"/>
<!-- DistributedClusteringComponentTest uses Jetty -->
<fileset dir="${solr-path}/example/lib">
@@ -64,7 +64,7 @@
<mkdir dir="${dest}/classes"/>
<mkdir dir="${build.javadoc}"/>
- <subant target="compileTests">
+ <subant target="compileTestFramework">
<fileset dir="${solr-path}" includes="build.xml"/>
</subant>
<subant target="make-manifest">
Modified: lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/build.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/build.xml (original)
+++ lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/build.xml Mon May 2 13:50:57 2011
@@ -55,7 +55,7 @@
<path refid="classpath.jetty" />
<pathelement path="target/classes" />
<pathelement path="target/test-classes" />
- <pathelement location="${solr-path}/build/tests"/> <!-- include solr test code -->
+ <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
<pathelement location="${solr-path}/../lucene/build/classes/test-framework" /> <!-- include some lucene test code -->
<pathelement path="${java.class.path}"/>
</path>
@@ -67,7 +67,7 @@
<pathelement path="target/extras/classes" />
<pathelement path="target/test-classes" />
<pathelement path="target/extras/test-classes" />
- <pathelement location="${solr-path}/build/tests"/> <!-- include solr test code -->
+ <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
<pathelement location="${solr-path}/../lucene/build/classes/test-framework" /> <!-- include some lucene test code -->
<pathelement path="${java.class.path}"/>
</path>
@@ -89,7 +89,7 @@
<target name="init">
<mkdir dir="target/classes"/>
<mkdir dir="${build.javadoc}" />
- <subant target="compileTests">
+ <subant target="compileTestFramework">
<fileset dir="${solr-path}" includes="build.xml"/>
</subant>
<subant target="make-manifest">
Modified: lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImportHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImportHandler.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImportHandler.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImportHandler.java Mon May 2 13:50:57 2011
@@ -194,7 +194,7 @@ public class DataImportHandler extends R
IMPORT_CMD.equals(command)) {
UpdateRequestProcessorChain processorChain =
- req.getCore().getUpdateProcessingChain(params.get(UpdateParams.UPDATE_PROCESSOR));
+ req.getCore().getUpdateProcessingChain(params.get(UpdateParams.UPDATE_CHAIN));
UpdateRequestProcessor processor = processorChain.createProcessor(req, rsp);
SolrResourceLoader loader = req.getCore().getResourceLoader();
SolrWriter sw = getSolrWriter(processor, loader, requestParams, req);
Modified: lucene/dev/branches/docvalues/solr/contrib/extraction/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/extraction/build.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/extraction/build.xml (original)
+++ lucene/dev/branches/docvalues/solr/contrib/extraction/build.xml Mon May 2 13:50:57 2011
@@ -39,7 +39,7 @@
<path refid="common.classpath" />
<pathelement path="${dest}/classes" />
<pathelement path="${dest}/test-classes" />
- <pathelement location="${solr-path}/build/tests"/> <!-- include solr test code -->
+ <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
<pathelement location="${solr-path}/../lucene/build/classes/test-framework" /> <!-- include some lucene test code -->
<pathelement path="${java.class.path}"/>
</path>
@@ -51,7 +51,7 @@
<target name="init">
<mkdir dir="${dest}/classes"/>
<mkdir dir="${build.javadoc}" />
- <subant target="compileTests">
+ <subant target="compileTestFramework">
<fileset dir="${solr-path}" includes="build.xml"/>
</subant>
<subant target="make-manifest">
Modified: lucene/dev/branches/docvalues/solr/contrib/uima/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/CHANGES.txt?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/CHANGES.txt (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/CHANGES.txt Mon May 2 13:50:57 2011
@@ -21,11 +21,25 @@ $Id$
================== 3.2.0-dev ==================
+Upgrading from Solr 3.1
+----------------------
+
+* <uimaConfig/> just beneath <config> ... </config> is no longer supported.
+ It should move to UIMAUpdateRequestProcessorFactory setting.
+ See contrib/uima/README.txt for more details. (SOLR-2436)
+
Test Cases:
+----------------------
+
+* SOLR-2387: add mock annotators for improved testing,
+ (Tommaso Teofili via rmuir)
+
+Other Changes
+----------------------
- * SOLR-2387: add mock annotators for improved testing,
- (Tommaso Teofili via rmuir)
+* SOLR-2436: move uimaConfig to under the uima's update processor in solrconfig.xml.
+ (Tommaso Teofili, koji)
-================== 3.1.0-dev ==================
+================== 3.1.0 ==================
Initial Release
Modified: lucene/dev/branches/docvalues/solr/contrib/uima/README.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/README.txt?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/README.txt (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/README.txt Mon May 2 13:50:57 2011
@@ -3,38 +3,61 @@ Getting Started
To start using Solr UIMA Metadata Extraction Library you should go through the following configuration steps:
1. copy generated solr-uima jar and its libs (under contrib/uima/lib) inside a Solr libraries directory.
+ or set <lib/> tags in solrconfig.xml appropriately to point those jar files.
+
+ <lib dir="../../contrib/uima/lib" />
+ <lib dir="../../dist/" regex="apache-solr-uima-\d.*\.jar" />
2. modify your schema.xml adding the fields you want to be hold metadata specifying proper values for type, indexed, stored and multiValued options:
-3. for example you could specify the following
+ for example you could specify the following
+
<field name="language" type="string" indexed="true" stored="true" required="false"/>
<field name="concept" type="string" indexed="true" stored="true" multiValued="true" required="false"/>
<field name="sentence" type="text" indexed="true" stored="true" multiValued="true" required="false" />
-4. modify your solrconfig.xml adding the following snippet:
- <uimaConfig>
- <runtimeParameters>
- <keyword_apikey>VALID_ALCHEMYAPI_KEY</keyword_apikey>
- <concept_apikey>VALID_ALCHEMYAPI_KEY</concept_apikey>
- <lang_apikey>VALID_ALCHEMYAPI_KEY</lang_apikey>
- <cat_apikey>VALID_ALCHEMYAPI_KEY</cat_apikey>
- <entities_apikey>VALID_ALCHEMYAPI_KEY</entities_apikey>
- <oc_licenseID>VALID_OPENCALAIS_KEY</oc_licenseID>
- </runtimeParameters>
- <analysisEngine>/org/apache/uima/desc/OverridingParamsExtServicesAE.xml</analysisEngine>
- <analyzeFields merge="false">text</analyzeFields>
- <fieldMapping>
- <type name="org.apache.uima.alchemy.ts.concept.ConceptFS">
- <map feature="text" field="concept"/>
- </type>
- <type name="org.apache.uima.alchemy.ts.language.LanguageFS">
- <map feature="language" field="language"/>
- </type>
- <type name="org.apache.uima.SentenceAnnotation">
- <map feature="coveredText" field="sentence"/>
- </type>
- </fieldMapping>
- </uimaConfig>
+3. modify your solrconfig.xml adding the following snippet:
+
+ <updateRequestProcessorChain name="uima">
+ <processor class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
+ <lst name="uimaConfig">
+ <lst name="runtimeParameters">
+ <str name="keyword_apikey">VALID_ALCHEMYAPI_KEY</str>
+ <str name="concept_apikey">VALID_ALCHEMYAPI_KEY</str>
+ <str name="lang_apikey">VALID_ALCHEMYAPI_KEY</str>
+ <str name="cat_apikey">VALID_ALCHEMYAPI_KEY</str>
+ <str name="entities_apikey">VALID_ALCHEMYAPI_KEY</str>
+ <str name="oc_licenseID">VALID_OPENCALAIS_KEY</str>
+ </lst>
+ <str name="analysisEngine">/org/apache/uima/desc/OverridingParamsExtServicesAE.xml</str>
+ <lst name="analyzeFields">
+ <bool name="merge">false</bool>
+ <arr name="fields">
+ <str>text</str>
+ </arr>
+ </lst>
+ <lst name="fieldMappings">
+ <lst name="mapping">
+ <str name="type">org.apache.uima.alchemy.ts.concept.ConceptFS</str>
+ <str name="feature">text</str>
+ <str name="field">concept</str>
+ </lst>
+ <lst name="mapping">
+ <str name="type">org.apache.uima.alchemy.ts.language.LanguageFS</str>
+ <str name="feature">language</str>
+ <str name="field">language</str>
+ </lst>
+ <lst name="mapping">
+ <str name="type">org.apache.uima.SentenceAnnotation</str>
+ <str name="feature">coveredText</str>
+ <str name="field">sentence</str>
+ </lst>
+ </lst>
+ </lst>
+ </processor>
+ <processor class="solr.LogUpdateProcessorFactory" />
+ <processor class="solr.RunUpdateProcessorFactory" />
+ </updateRequestProcessorChain>
where VALID_ALCHEMYAPI_KEY is your AlchemyAPI Access Key. You need to register AlchemyAPI Access
key to exploit the AlchemyAPI services: http://www.alchemyapi.com/api/register.html
@@ -42,21 +65,14 @@ To start using Solr UIMA Metadata Extrac
where VALID_OPENCALAIS_KEY is your Calais Service Key. You need to register Calais Service
key to exploit the Calais services: http://www.opencalais.com/apikey
-5. the analysisEngine tag must contain an AE descriptor inside the specified path in the classpath
+ the analysisEngine must contain an AE descriptor inside the specified path in the classpath
-6. the analyzeFields tag must contain the input fields that need to be analyzed by UIMA,
+ the analyzeFields must contain the input fields that need to be analyzed by UIMA,
if merge=true then their content will be merged and analyzed only once
-7. field mapping describes which features of which types should go in a field
-
-8. define in your solrconfig.xml an UpdateRequestProcessorChain as following:
- <updateRequestProcessorChain name="uima">
- <processor class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory"/>
- <processor class="solr.LogUpdateProcessorFactory" />
- <processor class="solr.RunUpdateProcessorFactory" />
- </updateRequestProcessorChain>
+ field mapping describes which features of which types should go in a field
-9. in your solrconfig.xml replace the existing default (<requestHandler name="/update"...) or create a new UpdateRequestHandler with the following:
+4. in your solrconfig.xml replace the existing default (<requestHandler name="/update"...) or create a new UpdateRequestHandler with the following:
<requestHandler name="/update" class="solr.XmlUpdateRequestHandler">
<lst name="defaults">
<str name="update.processor">uima</str>
Modified: lucene/dev/branches/docvalues/solr/contrib/uima/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/build.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/build.xml (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/build.xml Mon May 2 13:50:57 2011
@@ -40,7 +40,7 @@
<path refid="common.classpath" />
<pathelement path="${dest}/classes" />
<pathelement path="${dest}/test-classes" />
- <pathelement location="${solr-path}/build/tests"/> <!-- include solr test code -->
+ <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
<pathelement location="${solr-path}/../lucene/build/classes/test-framework" /> <!-- include some lucene test code -->
<pathelement path="${java.class.path}"/>
</path>
@@ -52,7 +52,7 @@
<target name="init">
<mkdir dir="${dest}/classes"/>
<mkdir dir="${build.javadoc}" />
- <subant target="compileTests">
+ <subant target="compileTestFramework">
<fileset dir="${solr-path}" includes="build.xml"/>
</subant>
<subant target="make-manifest">
Modified: lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java Mon May 2 13:50:57 2011
@@ -21,7 +21,7 @@ import java.util.Map;
/**
* Configuration holding all the configurable parameters for calling UIMA inside Solr
- *
+ *
* @version $Id$
*/
public class SolrUIMAConfiguration {
@@ -65,5 +65,4 @@ public class SolrUIMAConfiguration {
public Map<String, Object> getRuntimeParameters() {
return runtimeParameters;
}
-
}
Modified: lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java Mon May 2 13:50:57 2011
@@ -18,11 +18,10 @@ package org.apache.solr.uima.processor;
*/
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
-import org.apache.solr.core.SolrConfig;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
+import org.apache.solr.common.util.NamedList;
/**
* Read configuration for Solr-UIMA integration
@@ -32,18 +31,10 @@ import org.w3c.dom.NodeList;
*/
public class SolrUIMAConfigurationReader {
- private static final String AE_RUNTIME_PARAMETERS_NODE_PATH = "/config/uimaConfig/runtimeParameters";
+ private NamedList<Object> args;
- private static final String FIELD_MAPPING_NODE_PATH = "/config/uimaConfig/fieldMapping";
-
- private static final String ANALYZE_FIELDS_NODE_PATH = "/config/uimaConfig/analyzeFields";
-
- private static final String ANALYSIS_ENGINE_NODE_PATH = "/config/uimaConfig/analysisEngine";
-
- private SolrConfig solrConfig;
-
- public SolrUIMAConfigurationReader(SolrConfig solrConfig) {
- this.solrConfig = solrConfig;
+ public SolrUIMAConfigurationReader(NamedList<Object> args) {
+ this.args = args;
}
public SolrUIMAConfiguration readSolrUIMAConfiguration() {
@@ -52,73 +43,51 @@ public class SolrUIMAConfigurationReader
}
private String readAEPath() {
- return solrConfig.getNode(ANALYSIS_ENGINE_NODE_PATH, true).getTextContent();
+ return (String) args.get("analysisEngine");
}
+ @SuppressWarnings("rawtypes")
+ private NamedList getAnalyzeFields() {
+ return (NamedList) args.get("analyzeFields");
+ }
+
+ @SuppressWarnings("unchecked")
private String[] readFieldsToAnalyze() {
- Node analyzeFieldsNode = solrConfig.getNode(ANALYZE_FIELDS_NODE_PATH, true);
- return analyzeFieldsNode.getTextContent().split(",");
+ List<String> fields = (List<String>) getAnalyzeFields().get("fields");
+ return fields.toArray(new String[fields.size()]);
}
private boolean readFieldsMerging() {
- Node analyzeFieldsNode = solrConfig.getNode(ANALYZE_FIELDS_NODE_PATH, true);
- Node mergeNode = analyzeFieldsNode.getAttributes().getNamedItem("merge");
- return Boolean.valueOf(mergeNode.getNodeValue());
+ return (Boolean) getAnalyzeFields().get("merge");
}
+ @SuppressWarnings("rawtypes")
private Map<String, Map<String, String>> readTypesFeaturesFieldsMapping() {
Map<String, Map<String, String>> map = new HashMap<String, Map<String, String>>();
- Node fieldMappingNode = solrConfig.getNode(FIELD_MAPPING_NODE_PATH, true);
+ NamedList fieldMappings = (NamedList) args.get("fieldMappings");
/* iterate over UIMA types */
- if (fieldMappingNode.hasChildNodes()) {
- NodeList typeNodes = fieldMappingNode.getChildNodes();
- for (int i = 0; i < typeNodes.getLength(); i++) {
- /* <type> node */
- Node typeNode = typeNodes.item(i);
- if (typeNode.getNodeType() != Node.TEXT_NODE) {
- Node typeNameAttribute = typeNode.getAttributes().getNamedItem("name");
- /* get a UIMA typename */
- String typeName = typeNameAttribute.getNodeValue();
- /* create entry for UIMA type */
- map.put(typeName, new HashMap<String, String>());
- if (typeNode.hasChildNodes()) {
- /* iterate over features */
- NodeList featuresNodeList = typeNode.getChildNodes();
- for (int j = 0; j < featuresNodeList.getLength(); j++) {
- Node mappingNode = featuresNodeList.item(j);
- if (mappingNode.getNodeType() != Node.TEXT_NODE) {
- /* get field name */
- Node fieldNameNode = mappingNode.getAttributes().getNamedItem("field");
- String mappedFieldName = fieldNameNode.getNodeValue();
- /* get feature name */
- Node featureNameNode = mappingNode.getAttributes().getNamedItem("feature");
- String featureName = featureNameNode.getNodeValue();
- /* map the feature to the field for the specified type */
- map.get(typeName).put(featureName, mappedFieldName);
- }
- }
- }
- }
- }
+ for (int i = 0; i < fieldMappings.size(); i++) {
+ NamedList mapping = (NamedList) fieldMappings.get("mapping", i);
+ String typeName = (String) mapping.get("type");
+ String featureName = (String) mapping.get("feature");
+ String mappedFieldName = (String) mapping.get("field");
+ Map<String, String> subMap = new HashMap<String, String>();
+ subMap.put(featureName, mappedFieldName);
+ map.put(typeName, subMap);
}
return map;
}
+ @SuppressWarnings("rawtypes")
private Map<String, Object> readAEOverridingParameters() {
Map<String, Object> runtimeParameters = new HashMap<String, Object>();
- Node uimaConfigNode = solrConfig.getNode(AE_RUNTIME_PARAMETERS_NODE_PATH, true);
-
- if (uimaConfigNode.hasChildNodes()) {
- NodeList overridingNodes = uimaConfigNode.getChildNodes();
- for (int i = 0; i < overridingNodes.getLength(); i++) {
- Node overridingNode = overridingNodes.item(i);
- if (overridingNode.getNodeType() != Node.TEXT_NODE && overridingNode.getNodeType() != Node.COMMENT_NODE) {
- runtimeParameters.put(overridingNode.getNodeName(), overridingNode.getTextContent());
- }
- }
+ NamedList runtimeParams = (NamedList) args.get("runtimeParameters");
+ for (int i = 0; i < runtimeParams.size(); i++) {
+ String name = runtimeParams.getName(i);
+ Object value = runtimeParams.getVal(i);
+ runtimeParameters.put(name, value);
}
-
return runtimeParameters;
}
Modified: lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java Mon May 2 13:50:57 2011
@@ -34,7 +34,7 @@ import org.apache.uima.resource.Resource
/**
* Update document(s) to be indexed with UIMA extracted information
- *
+ *
* @version $Id$
*/
public class UIMAUpdateRequestProcessor extends UpdateRequestProcessor {
@@ -43,15 +43,14 @@ public class UIMAUpdateRequestProcessor
private AEProvider aeProvider;
- public UIMAUpdateRequestProcessor(UpdateRequestProcessor next, SolrCore solrCore) {
+ public UIMAUpdateRequestProcessor(UpdateRequestProcessor next, SolrCore solrCore,
+ SolrUIMAConfiguration config) {
super(next);
- initialize(solrCore);
+ initialize(solrCore, config);
}
- private void initialize(SolrCore solrCore) {
- SolrUIMAConfigurationReader uimaConfigurationReader = new SolrUIMAConfigurationReader(solrCore
- .getSolrConfig());
- solrUIMAConfiguration = uimaConfigurationReader.readSolrUIMAConfiguration();
+ private void initialize(SolrCore solrCore, SolrUIMAConfiguration config) {
+ solrUIMAConfiguration = config;
aeProvider = AEProviderFactory.getInstance().getAEProvider(solrCore.getName(),
solrUIMAConfiguration.getAePath(), solrUIMAConfiguration.getRuntimeParameters());
}
Modified: lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java Mon May 2 13:50:57 2011
@@ -17,6 +17,7 @@ package org.apache.solr.uima.processor;
* limitations under the License.
*/
+import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.update.processor.UpdateRequestProcessor;
@@ -29,10 +30,19 @@ import org.apache.solr.update.processor.
*/
public class UIMAUpdateRequestProcessorFactory extends UpdateRequestProcessorFactory {
+ private NamedList<Object> args;
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void init(@SuppressWarnings("rawtypes") NamedList args) {
+ this.args = (NamedList<Object>) args.get("uimaConfig");
+ }
+
@Override
public UpdateRequestProcessor getInstance(SolrQueryRequest req, SolrQueryResponse rsp,
UpdateRequestProcessor next) {
- return new UIMAUpdateRequestProcessor(next, req.getCore());
+ return new UIMAUpdateRequestProcessor(next, req.getCore(),
+ new SolrUIMAConfigurationReader(args).readSolrUIMAConfiguration());
}
}
Modified: lucene/dev/branches/docvalues/solr/contrib/uima/src/main/resources/solr/conf/aggregate-uima-config.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/src/main/resources/solr/conf/aggregate-uima-config.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/src/main/resources/solr/conf/aggregate-uima-config.xml (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/src/main/resources/solr/conf/aggregate-uima-config.xml Mon May 2 13:50:57 2011
@@ -15,19 +15,34 @@
limitations under the License.
-->
-<uimaConfig>
- <runtimeParameters>
- <keyword_apikey>VALID_ALCHEMYAPI_KEY</keyword_apikey>
- <concept_apikey>VALID_ALCHEMYAPI_KEY</concept_apikey>
- <lang_apikey>VALID_ALCHEMYAPI_KEY</lang_apikey>
- <cat_apikey>VALID_ALCHEMYAPI_KEY</cat_apikey>
- <oc_licenseID>VALID_OPENCALAIS_KEY</oc_licenseID>
- </runtimeParameters>
- <analysisEngine>/org/apache/uima/desc/OverridingParamsExtServicesAE.xml</analysisEngine>
- <analyzeFields merge="false">text,title</analyzeFields>
- <fieldMapping>
- <type name="org.apache.uima.jcas.tcas.Annotation">
- <map feature="coveredText" field="tag"/>
- </type>
- </fieldMapping>
-</uimaConfig>
\ No newline at end of file
+ <updateRequestProcessorChain name="uima">
+ <processor class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
+ <lst name="uimaConfig">
+ <lst name="runtimeParameters">
+ <str name="keyword_apikey">VALID_ALCHEMYAPI_KEY</str>
+ <str name="concept_apikey">VALID_ALCHEMYAPI_KEY</str>
+ <str name="lang_apikey">VALID_ALCHEMYAPI_KEY</str>
+ <str name="cat_apikey">VALID_ALCHEMYAPI_KEY</str>
+ <str name="entities_apikey">VALID_ALCHEMYAPI_KEY</str>
+ <str name="oc_licenseID">VALID_OPENCALAIS_KEY</str>
+ </lst>
+ <str name="analysisEngine">/org/apache/uima/desc/OverridingParamsExtServicesAE.xml</str>
+ <lst name="analyzeFields">
+ <bool name="merge">false</bool>
+ <arr name="fields">
+ <str>text</str>
+ <str>title</str>
+ </arr>
+ </lst>
+ <lst name="fieldMappings">
+ <lst name="mapping">
+ <str name="type">org.apache.uima.jcas.tcas.Annotation</str>
+ <str name="feature">convertText</str>
+ <str name="field">tag</str>
+ </lst>
+ </lst>
+ </lst>
+ </processor>
+ <processor class="solr.LogUpdateProcessorFactory" />
+ <processor class="solr.RunUpdateProcessorFactory" />
+ </updateRequestProcessorChain>
Modified: lucene/dev/branches/docvalues/solr/contrib/uima/src/test/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/src/test/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/src/test/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/src/test/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java Mon May 2 13:50:57 2011
@@ -108,7 +108,7 @@ public class UIMAUpdateRequestProcessorT
private void addDoc(String doc) throws Exception {
Map<String, String[]> params = new HashMap<String, String[]>();
- params.put(UpdateParams.UPDATE_PROCESSOR, new String[] { "uima" });
+ params.put(UpdateParams.UPDATE_CHAIN, new String[] { "uima" });
MultiMapSolrParams mmparams = new MultiMapSolrParams(params);
SolrQueryRequestBase req = new SolrQueryRequestBase(h.getCore(), (SolrParams) mmparams) {
};
Modified: lucene/dev/branches/docvalues/solr/contrib/uima/src/test/resources/solr-uima/conf/solrconfig.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/contrib/uima/src/test/resources/solr-uima/conf/solrconfig.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/contrib/uima/src/test/resources/solr-uima/conf/solrconfig.xml (original)
+++ lucene/dev/branches/docvalues/solr/contrib/uima/src/test/resources/solr-uima/conf/solrconfig.xml Mon May 2 13:50:57 2011
@@ -295,7 +295,7 @@
<!--
<indexReaderFactory name="IndexReaderFactory"
class="org.apache.solr.core.StandardIndexReaderFactory"> <int
- name="termInfosIndexDivisor">12</int> </indexReaderFactory >
+ name="setTermIndexDivisor">12</int> </indexReaderFactory >
-->
@@ -855,7 +855,7 @@
-->
<requestHandler name="/update" class="solr.XmlUpdateRequestHandler">
<lst name="defaults">
- <str name="update.processor">uima</str>
+ <str name="update.chain">uima</str>
</lst>
</requestHandler>
@@ -953,42 +953,6 @@
</lst>
</requestHandler>
- <highlighting>
- <!-- Configure the standard fragmenter -->
- <!-- This could most likely be commented out in the "default" case -->
- <fragmenter name="gap"
- class="org.apache.solr.highlight.GapFragmenter" default="true">
- <lst name="defaults">
- <int name="hl.fragsize">100</int>
- </lst>
- </fragmenter>
-
- <!--
- A regular-expression-based fragmenter (f.i., for sentence
- extraction)
- -->
- <fragmenter name="regex"
- class="org.apache.solr.highlight.RegexFragmenter">
- <lst name="defaults">
- <!-- slightly smaller fragsizes work better because of slop -->
- <int name="hl.fragsize">70</int>
- <!-- allow 50% slop on fragment sizes -->
- <float name="hl.regex.slop">0.5</float>
- <!-- a basic sentence pattern -->
- <str name="hl.regex.pattern">[-\w ,/\n\"']{20,200}</str>
- </lst>
- </fragmenter>
-
- <!-- Configure the standard formatter -->
- <formatter name="html" class="org.apache.solr.highlight.HtmlFormatter"
- default="true">
- <lst name="defaults">
- <str name="hl.simple.pre"><![CDATA[<em>]]></str>
- <str name="hl.simple.post"><![CDATA[</em>]]></str>
- </lst>
- </formatter>
- </highlighting>
-
<!--
An example dedup update processor that creates the "id" field on the
fly based on the hash code of some other fields. This example has
@@ -997,17 +961,45 @@
anyway. You have to link the chain to an update handler above to use
it ie: <requestHandler name="/update
"class="solr.XmlUpdateRequestHandler"> <lst name="defaults"> <str
- name="update.processor">dedupe</str> </lst> </requestHandler>
+ name="update.chain">dedupe</str> </lst> </requestHandler>
-->
<updateRequestProcessorChain name="uima">
- <processor class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory"/>
+ <processor class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
+ <lst name="uimaConfig">
+ <lst name="runtimeParameters">
+ <int name="ngramsize">3</int>
+ </lst>
+ <str name="analysisEngine">/TestAE.xml</str>
+ <lst name="analyzeFields">
+ <bool name="merge">false</bool>
+ <arr name="fields">
+ <str>text</str>
+ </arr>
+ </lst>
+ <lst name="fieldMappings">
+ <lst name="mapping">
+ <str name="type">org.apache.uima.SentenceAnnotation</str>
+ <str name="feature">coveredText</str>
+ <str name="field">sentence</str>
+ </lst>
+ <lst name="mapping">
+ <str name="type">org.apache.solr.uima.ts.SentimentAnnotation</str>
+ <str name="feature">mood</str>
+ <str name="field">sentiment</str>
+ </lst>
+ <lst name="mapping">
+ <str name="type">org.apache.solr.uima.ts.EntityAnnotation</str>
+ <str name="feature">coveredText</str>
+ <str name="field">entity</str>
+ </lst>
+ </lst>
+ </lst>
+ </processor>
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
-
-
<!--
queryResponseWriter plugins... query responses will be written using
the writer specified by the 'wt' request parameter matching the name
@@ -1062,23 +1054,4 @@
-->
</admin>
-<uimaConfig>
- <runtimeParameters>
- <ngramsize>3</ngramsize>
- </runtimeParameters>
- <analysisEngine>/TestAE.xml</analysisEngine>
- <analyzeFields merge="false">text</analyzeFields>
- <fieldMapping>
- <type name="org.apache.uima.SentenceAnnotation">
- <map feature="coveredText" field="sentence"/>
- </type>
- <type name="org.apache.solr.uima.ts.SentimentAnnotation">
- <map feature="mood" field="sentiment"/>
- </type>
- <type name="org.apache.solr.uima.ts.EntityAnnotation">
- <map feature="coveredText" field="entity"/>
- </type>
- </fieldMapping>
-</uimaConfig>
-
</config>
Modified: lucene/dev/branches/docvalues/solr/example/solr/conf/solrconfig.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/example/solr/conf/solrconfig.xml?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/example/solr/conf/solrconfig.xml (original)
+++ lucene/dev/branches/docvalues/solr/example/solr/conf/solrconfig.xml Mon May 2 13:50:57 2011
@@ -774,6 +774,7 @@
<str name="q.alt">*:*</str>
<str name="rows">10</str>
<str name="fl">*,score</str>
+
<str name="mlt.qf">
text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4
</str>
@@ -792,6 +793,8 @@
<int name="facet.range.start">0</int>
<int name="facet.range.end">600</int>
<int name="facet.range.gap">50</int>
+ <str name="facet.range">popularity</str>
+ <int name="f.popularity.facet.range.gap">3</int>
<str name="facet.range.other">after</str>
<str name="facet.date">manufacturedate_dt</str>
<str name="facet.date.start">NOW/YEAR-10YEARS</str>
@@ -841,7 +844,7 @@
-->
<!--
<lst name="defaults">
- <str name="update.processor">dedupe</str>
+ <str name="update.chain">dedupe</str>
</lst>
-->
</requestHandler>
Modified: lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/VM_global_library.vm
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/VM_global_library.vm?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/VM_global_library.vm (original)
+++ lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/VM_global_library.vm Mon May 2 13:50:57 2011
@@ -88,13 +88,13 @@
<ul>
#foreach ($facet in $field)
#set($theDate = $date.toDate("yyyy-MM-dd'T'HH:mm:ss'Z'", $facet.key))
- #set($value = '["' + $facet.key + '" TO "' + $facet.key + $gap + '"]')
+ #set($value = '["' + $facet.key + '" TO "' + $facet.key + $gap + '"}')
#set($facetURL = "#url_for_facet_date_filter($fieldName, $value)")
#if ($facetURL != '')
#if ($facet.key != "gap" && $facet.key != "start" && $facet.key != "end" && $facet.key != "before" && $facet.key != "after")
- <li><a href="$facetURL">$date.format('MMM yyyy', $theDate)</a> ($facet.value)</li>
+ <li><a href="$facetURL">$date.format('MMM yyyy', $theDate) $gap</a> ($facet.value)</li>
#end
#if ($facet.key == "before" && $facet.value > 0)
<li><a href="$facetURL">Before</a> ($facet.value)</li>
@@ -113,20 +113,20 @@
<span class="facet-field">$display</span>
<ul>
#if($before && $before != "")
- #set($value = "[* TO " + $start + "]")
+ #set($value = "[* TO " + $start + "}")
#set($facetURL = "#url_for_facet_range_filter($fieldName, $value)")
<li><a href="$facetURL">Less than $start</a> ($before)</li>
#end
#foreach ($facet in $field)
#set($rangeEnd = $math.add($facet.key, $gap))
- #set($value = "[" + $facet.key + " TO " + $rangeEnd + "]")
+ #set($value = "[" + $facet.key + " TO " + $rangeEnd + "}")
#set($facetURL = "#url_for_facet_range_filter($fieldName, $value)")
#if ($facetURL != '')
- <li><a href="$facetURL">$facet.key</a> ($facet.value)</li>
+ <li><a href="$facetURL">$facet.key - $rangeEnd</a> ($facet.value)</li>
#end
#end
- #if($end && $end != "")
- #set($value = "[" + $end + " TO *]")
+ #if($end && $end != "" && $after > 0)
+ #set($value = "[" + $end + " TO *}")
#set($facetURL = "#url_for_facet_range_filter($fieldName, $value)")
<li><a href="$facetURL">More than $math.toNumber($end)</a> ($after)</li>
#end
@@ -180,4 +180,8 @@
$v
#end
#end
-#end
\ No newline at end of file
+#end
+
+#macro(capitalize $name)
+ ${name.substring(0,1).toUpperCase()}${name.substring(1)}
+#end
\ No newline at end of file
Modified: lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_dates.vm
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_dates.vm?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_dates.vm (original)
+++ lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_dates.vm Mon May 2 13:50:57 2011
@@ -1,5 +1,9 @@
##TODO: Generically deal with all dates
<h2 #annTitle("Facets generated by adding &facet.date= to the request")>Date Facets</h2>
-#set($field = $response.response.facet_counts.facet_dates.manufacturedate_dt)
-#set($gap = $response.response.facet_counts.facet_dates.manufacturedate_dt.gap)
-#display_facet_date($field, "Manufacture Date", "manufacturedate_dt", $gap)
+#foreach ($field in $response.response.facet_counts.facet_dates)
+ #set($name = $field.key)
+ #set($display = "#capitalize($name)")
+ #set($f = $field.value)
+ #set($gap = $field.value.gap)
+ #display_facet_date($f, $display, $name, $gap)
+#end
\ No newline at end of file
Modified: lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_ranges.vm
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_ranges.vm?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_ranges.vm (original)
+++ lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/facet_ranges.vm Mon May 2 13:50:57 2011
@@ -1,10 +1,12 @@
<h2 #annTitle("Facets generated by adding &facet.range= to the request")>Range Facets</h2>
-#set($field = $response.response.facet_counts.facet_ranges.price.counts)
-#set($start = $response.response.facet_counts.facet_ranges.price.start)
-#set($end = $response.response.facet_counts.facet_ranges.price.end)
-#set($gap = $response.response.facet_counts.facet_ranges.price.gap)
-#set($before = $response.response.facet_counts.facet_ranges.price.before)
-#set($after = $response.response.facet_counts.facet_ranges.price.after)
-##TODO: Make this display the "range", not just the lower value
-##TODO: Have a generic way to deal with ranges
-#display_facet_range($field, "Price (in $)", "price", $start, $end, $gap, $before, $after)
+#foreach ($field in $response.response.facet_counts.facet_ranges)
+ #set($name = $field.key)
+ #set($display = "#capitalize($name)")
+ #set($f = $field.value.counts)
+ #set($start = $field.value.start)
+ #set($end = $field.value.end)
+ #set($gap = $field.value.gap)
+ #set($before = $field.value.before)
+ #set($after = $field.value.after)
+ #display_facet_range($f, $display, $name, $start, $end, $gap, $before, $after)
+#end
\ No newline at end of file
Modified: lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/main.css
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/main.css?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/main.css (original)
+++ lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/main.css Mon May 2 13:50:57 2011
@@ -18,6 +18,18 @@
margin-left: 20px;
}
+.parsed_query_header {
+ font-family: Helvetica, Arial, sans-serif;
+ font-size: 10pt;
+ font-weight: bold;
+}
+
+.parsed_query {
+ font-family: Courier, Courier New, monospaced;
+ font-size: 10pt;
+ font-weight: normal;
+}
+
body {
font-family: Helvetica, Arial, sans-serif;
font-size: 10pt;
Modified: lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/query.vm
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/query.vm?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/query.vm (original)
+++ lucene/dev/branches/docvalues/solr/example/solr/conf/velocity/query.vm Mon May 2 13:50:57 2011
@@ -27,14 +27,16 @@
#end
#end
</div>
+ <div class="parsed_query_header">
#if($request.params.get('debugQuery'))
- <a href="#" onclick='jQuery(this).siblings("pre").toggle(); return false;'>toggle parsed query</a>
- <pre style="display:none">$response.response.debug.parsedquery</pre>
+ <a href="#" onclick='jQuery(this).siblings("div").toggle(); return false;'>toggle parsed query</a>
+ <div class="parsed_query" style="display:none">$response.response.debug.parsedquery</div>
#end
#set($queryOpts = $request.params.get("queryOpts"))
#if($queryOpts && $queryOpts != "")
<input type="hidden" name="queryOpts" value="$queryOpts"/>
#end
+ </div>
</form>
</div>
Modified: lucene/dev/branches/docvalues/solr/site/features.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/features.html?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/features.html (original)
+++ lucene/dev/branches/docvalues/solr/site/features.html Mon May 2 13:50:57 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
<div class="menuitem">
<a href="api/solrj/index.html">SolrJ Javadoc</a>
</div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
</div>
<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
<div id="menu_1.3" class="menuitemgroup">
Modified: lucene/dev/branches/docvalues/solr/site/index.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/index.html?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/index.html (original)
+++ lucene/dev/branches/docvalues/solr/site/index.html Mon May 2 13:50:57 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
<div class="menuitem">
<a href="api/solrj/index.html">SolrJ Javadoc</a>
</div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
</div>
<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
<div id="menu_1.3" class="menuitemgroup">
@@ -229,6 +232,9 @@ document.write("Last Published: " + docu
<a href="#news">News</a>
<ul class="minitoc">
<li>
+<a href="#March+2011+-+Solr+3.1+Released">March 2011 - Solr 3.1 Released</a>
+</li>
+<li>
<a href="#25+June+2010+-+Solr+1.4.1+Released">25 June 2010 - Solr 1.4.1 Released</a>
</li>
<li>
@@ -343,7 +349,55 @@ customization is required.
<a name="N10059"></a><a name="news"></a>
<h2 class="boxed">News</h2>
<div class="section">
-<a name="N1005F"></a><a name="25+June+2010+-+Solr+1.4.1+Released"></a>
+<a name="N1005F"></a><a name="March+2011+-+Solr+3.1+Released"></a>
+<h3 class="boxed">March 2011 - Solr 3.1 Released</h3>
+<p>The Lucene PMC is pleased to announce the release of <a href="http://www.apache.org/dyn/closer.cgi/lucene/solr">Apache Solr 3.1</a>!
+ </p>
+<p>
+ Solr's version number was synced with Lucene following the Lucene/Solr merge, so Solr 3.1 contains Lucene 3.1.
+ Solr 3.1 is the first release after Solr 1.4.1.
+ </p>
+<p>
+ Solr 3.1 release highlights include
+ </p>
+<ul>
+
+<li>
+<a href="http://wiki.apache.org/solr/SimpleFacetParameters#Facet_by_Range">Numeric range facets</a> (similar to date faceting).</li>
+
+<li>New <a href="http://wiki.apache.org/solr/SpatialSearch">spatial search</a>, including spatial filtering, boosting and sorting capabilities.</li>
+
+<li>Example Velocity driven search UI at <a href="http://localhost:8983/solr/browse">http://localhost:8983/solr/browse</a>
+</li>
+
+<li>A new faster <a href="http://wiki.apache.org/solr/HighlightingParameters">termvector-based highlighter</a>.</li>
+
+<li>Extended dismax (edismax) query parser with support for fielded queries, enhanced relevancy, and full lucene syntax support.</li>
+
+<li>Distributed search support for the <a href="http://wiki.apache.org/solr/SpellCheckComponent">Spell check</a>
+ and <a href="http://wiki.apache.org/solr/TermsComponent">Terms</a> components.</li>
+
+<li>
+<a href="http://wiki.apache.org/solr/Suggester">Suggester</a>, a fast trie-based autocomplete component.</li>
+
+<li>Sort results by any <a href="http://wiki.apache.org/solr/FunctionQuery#Sort_By_Function any function">function query</a>.</li>
+
+<li>
+<a href="http://wiki.apache.org/solr/UpdateJSON">JSON document indexing</a>.</li>
+
+<li>
+<a href="http://wiki.apache.org/solr/CSVResponseWriter">CSV response format</a>
+</li>
+
+<li>
+<a href="http://wiki.apache.org/solr/SolrUIMA">Apache UIMA integration</a> for metadata extraction.</li>
+
+<li>Tons of optimizations, bugfixes, and new analysis capabilities via <a href="http://lucene.apache.org/java/docs/index.html">Apache Lucene 3.1</a>.</li>
+
+</ul>
+<p>See the <a href="http://svn.apache.org/repos/asf/lucene/dev/tags/lucene_solr_3_1/solr/CHANGES.txt">release notes</a> for a more complete list of all the new features, improvements, and bugfixes.
+ </p>
+<a name="N100CA"></a><a name="25+June+2010+-+Solr+1.4.1+Released"></a>
<h3 class="boxed">25 June 2010 - Solr 1.4.1 Released</h3>
<p>
Solr 1.4.1 has been released and is now available for public
@@ -356,7 +410,7 @@ customization is required.
See the <a href="http://svn.apache.org/repos/asf/lucene/solr/tags/release-1.4.1/CHANGES.txt">release notes</a>
for more details.
</p>
-<a name="N10074"></a><a name="7+May+2010+-+Apache+Lucene+Eurocon+2010+Coming+to+Prague+May+18-21"></a>
+<a name="N100DF"></a><a name="7+May+2010+-+Apache+Lucene+Eurocon+2010+Coming+to+Prague+May+18-21"></a>
<h3 class="boxed">7 May 2010 - Apache Lucene Eurocon 2010 Coming to Prague May 18-21</h3>
<p>
On May 18th to the 21st Prague will play host to the first
@@ -428,7 +482,7 @@ customization is required.
</li>
</ul>
-<a name="N100C0"></a><a name="10+November+2009+-+Solr+1.4+Released"></a>
+<a name="N1012B"></a><a name="10+November+2009+-+Solr+1.4+Released"></a>
<h3 class="boxed">10 November 2009 - Solr 1.4 Released</h3>
<p>
Solr 1.4 has been released and is now available for public <a href="http://www.apache.org/dyn/closer.cgi/lucene/solr/">download</a>!
@@ -460,7 +514,7 @@ customization is required.
</ul>
<p>See the <a href="http://svn.apache.org/repos/asf/lucene/solr/tags/release-1.4.0/CHANGES.txt">release notes</a> for more details.
</p>
-<a name="N100F0"></a><a name="20+August+2009+-+Solr%27s+first+book+is+published%21"></a>
+<a name="N1015B"></a><a name="20+August+2009+-+Solr%27s+first+book+is+published%21"></a>
<h3 class="boxed">20 August 2009 - Solr's first book is published!</h3>
<p>
@@ -475,7 +529,7 @@ customization is required.
</p>
<p>Finally, this book covers various deployment considerations to include indexing strategies and performance-oriented configuration that will enable you to scale Solr to meet the needs of a high-volume site.
</p>
-<a name="N10110"></a><a name="18+August+2009+-+Lucene+at+US+ApacheCon"></a>
+<a name="N1017B"></a><a name="18+August+2009+-+Lucene+at+US+ApacheCon"></a>
<h3 class="boxed">18 August 2009 - Lucene at US ApacheCon</h3>
<p>
@@ -551,7 +605,7 @@ Be sure not to miss:
Search</a> - Jason Rutherglen @ 15:00</li>
</ul>
-<a name="N10184"></a><a name="09+February+2009+-+Lucene+at+ApacheCon+Europe+2009+in+Amsterdam"></a>
+<a name="N101EF"></a><a name="09+February+2009+-+Lucene+at+ApacheCon+Europe+2009+in+Amsterdam"></a>
<h3 class="boxed">09 February 2009 - Lucene at ApacheCon Europe 2009 in Amsterdam</h3>
<p>
@@ -589,23 +643,23 @@ Be sure not to miss:
</ul>
-<a name="N101CD"></a><a name="19+December+2008+-+Solr+Logo+Contest+Results"></a>
+<a name="N10238"></a><a name="19+December+2008+-+Solr+Logo+Contest+Results"></a>
<h3 class="boxed">19 December 2008 - Solr Logo Contest Results</h3>
<p>Many great logos were submitted, but only one could be chosen. Congratulations Michiel,
the creator of the winning logo that is proudly displayed at the top of this page.
</p>
-<a name="N101D6"></a><a name="03+October+2008+-+Solr+Logo+Contest"></a>
+<a name="N10241"></a><a name="03+October+2008+-+Solr+Logo+Contest"></a>
<h3 class="boxed">03 October 2008 - Solr Logo Contest</h3>
<p>By popular demand, Solr is holding a contest to pick a new Solr logo. Details about how to submit an entry can be found <a href="http://wiki.apache.org/solr/LogoContest">on the wiki</a>. The Deadline for submissions is November 20th, 2008 @ 11:59PM GMT.
</p>
-<a name="N101E3"></a><a name="15+September+2008+-+Solr+1.3.0+Available"></a>
+<a name="N1024E"></a><a name="15+September+2008+-+Solr+1.3.0+Available"></a>
<h3 class="boxed">15 September 2008 - Solr 1.3.0 Available</h3>
<p>Solr 1.3.0 is available for public download. This version contains many enhancements and bug fixes, including distributed search capabilities,
Lucene 2.3.x performance improvements and many others.
</p>
<p>See the <a href="http://svn.apache.org/repos/asf/lucene/solr/tags/release-1.3.0/CHANGES.txt">release notes</a> for more details. Download is
available from a <a href="http://www.apache.org/dyn/closer.cgi/lucene/solr/">Apache Mirror</a>.</p>
-<a name="N101F7"></a><a name="28+August+2008+-+Lucene%2FSolr+at+ApacheCon+New+Orleans"></a>
+<a name="N10262"></a><a name="28+August+2008+-+Lucene%2FSolr+at+ApacheCon+New+Orleans"></a>
<h3 class="boxed">28 August 2008 - Lucene/Solr at ApacheCon New Orleans</h3>
<p>
@@ -627,7 +681,7 @@ Be sure not to miss:
<li>An <a href="http://us.apachecon.com/c/acus2008/schedule/2008/11/05">entire day of Lucene sessions</a> on November 5th</li>
</ul>
-<a name="N10225"></a><a name="03+September+2007+-+Lucene+at+ApacheCon+Atlanta"></a>
+<a name="N10290"></a><a name="03+September+2007+-+Lucene+at+ApacheCon+Atlanta"></a>
<h3 class="boxed">03 September 2007 - Lucene at ApacheCon Atlanta</h3>
<p>
<a href="http://www.us.apachecon.com"><img alt="ApacheCon US logo" class="float-right" src="http://www.apache.org/ads/ApacheCon/2007-usa-125x125.png"></a>
@@ -647,7 +701,7 @@ Be sure not to miss:
<li>November 16, 4:00 pm: <a href="http://us.apachecon.com/us2007/program/talk/2017"> Advanced Indexing Techniques with Apache Lucene</a> by Michael Busch. Information on payloads and advanced indexing techniques.</li>
</ul>
-<a name="N1025E"></a><a name="06+June+2007%3A+Release+1.2+available"></a>
+<a name="N102C9"></a><a name="06+June+2007%3A+Release+1.2+available"></a>
<h3 class="boxed">06 June 2007: Release 1.2 available</h3>
<p>
This is the first release since Solr graduated from the Incubator,
@@ -657,40 +711,40 @@ Be sure not to miss:
and more flexible plugins.
</p>
<p>See the <a href="http://svn.apache.org/repos/asf/lucene/solr/tags/release-1.2.0/CHANGES.txt">release notes</a> for more details.</p>
-<a name="N1026F"></a><a name="17+January+2007%3A+Solr+graduates+from+Incubator"></a>
+<a name="N102DA"></a><a name="17+January+2007%3A+Solr+graduates+from+Incubator"></a>
<h3 class="boxed">17 January 2007: Solr graduates from Incubator</h3>
<p>
Solr has graduated from the Apache Incubator, and is now a sub-project of Lucene.
</p>
-<a name="N10279"></a><a name="22+December+2006%3A+Release+1.1.0+available"></a>
+<a name="N102E4"></a><a name="22+December+2006%3A+Release+1.1.0+available"></a>
<h3 class="boxed">22 December 2006: Release 1.1.0 available</h3>
<p>
This is the first release since Solr joined the Incubator, and brings
many new features and performance optimizations including highlighting,
faceted search, and JSON/Python/Ruby response formats.
</p>
-<a name="N10283"></a><a name="15+August+2006%3A+Solr+at+ApacheCon+US"></a>
+<a name="N102EE"></a><a name="15+August+2006%3A+Solr+at+ApacheCon+US"></a>
<h3 class="boxed">15 August 2006: Solr at ApacheCon US</h3>
<p>Chris Hostetter will be presenting
<strong><a href="http://www.apachecon.com/2006/US/html/sessions.html#FR26">"Faceted Searching With Apache Solr"</a></strong>
at ApacheCon US 2006, on October 13th at 4:30pm.
See the <a href="http://www.us.apachecon.com/">ApacheCon</a> website for more details.
</p>
-<a name="N10296"></a><a name="21+April+2006%3A+Solr+at+ApacheCon"></a>
+<a name="N10301"></a><a name="21+April+2006%3A+Solr+at+ApacheCon"></a>
<h3 class="boxed">21 April 2006: Solr at ApacheCon</h3>
<p>Yonik Seeley will be presenting
<strong>"Apache Solr, a Full-Text Search Server based on Lucene"</strong>
at ApacheCon Europe 2006, on June 29th at 5:30pm.
See the <a href="http://www.eu.apachecon.com/">ApacheCon</a> website for more details.
</p>
-<a name="N102A7"></a><a name="21+February+2006%3A+nightly+builds"></a>
+<a name="N10312"></a><a name="21+February+2006%3A+nightly+builds"></a>
<h3 class="boxed">21 February 2006: nightly builds</h3>
<p>Solr now has nightly builds. This automatically creates a
<a href="http://people.apache.org/builds/lucene/solr/nightly/">downloadable version of Solr every
night</a>. All unit tests must pass, or a message is sent to
the developers mailing list and no new version is created. This
also updates the <a href="api/index.html">javadoc</a>.</p>
-<a name="N102B9"></a><a name="17+January+2006%3A+Solr+Joins+Apache+Incubator"></a>
+<a name="N10324"></a><a name="17+January+2006%3A+Solr+Joins+Apache+Incubator"></a>
<h3 class="boxed">17 January 2006: Solr Joins Apache Incubator</h3>
<p>Solr, a search server based on Lucene, has been accepted into the Apache Incubator.
Solr was originally developed by CNET Networks, and is widely used within CNET
Modified: lucene/dev/branches/docvalues/solr/site/index.pdf
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/index.pdf?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
Binary files - no diff available.
Modified: lucene/dev/branches/docvalues/solr/site/issue_tracking.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/issue_tracking.html?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/issue_tracking.html (original)
+++ lucene/dev/branches/docvalues/solr/site/issue_tracking.html Mon May 2 13:50:57 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
<div class="menuitem">
<a href="api/solrj/index.html">SolrJ Javadoc</a>
</div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
</div>
<div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Resources</div>
<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
Modified: lucene/dev/branches/docvalues/solr/site/linkmap.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/linkmap.html?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/linkmap.html (original)
+++ lucene/dev/branches/docvalues/solr/site/linkmap.html Mon May 2 13:50:57 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
<div class="menuitem">
<a href="api/solrj/index.html">SolrJ Javadoc</a>
</div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
</div>
<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
<div id="menu_1.3" class="menuitemgroup">
@@ -285,6 +288,12 @@ document.write("Last Published: " + docu
<a href="api/solrj/index.html">SolrJ Javadoc</a> ___________________ <em>apidocs</em>
</li>
</ul>
+
+<ul>
+<li>
+<a href="api/test-framework/index.html">Test Framework Javadoc</a> ___________________ <em>apidocs</em>
+</li>
+</ul>
</ul>
</ul>
Modified: lucene/dev/branches/docvalues/solr/site/linkmap.pdf
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/linkmap.pdf?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
Binary files - no diff available.
Modified: lucene/dev/branches/docvalues/solr/site/mailing_lists.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/mailing_lists.html?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/mailing_lists.html (original)
+++ lucene/dev/branches/docvalues/solr/site/mailing_lists.html Mon May 2 13:50:57 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
<div class="menuitem">
<a href="api/solrj/index.html">SolrJ Javadoc</a>
</div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
</div>
<div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Resources</div>
<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
Modified: lucene/dev/branches/docvalues/solr/site/skin/basic.css
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/skin/basic.css?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/skin/basic.css (original)
+++ lucene/dev/branches/docvalues/solr/site/skin/basic.css Mon May 2 13:50:57 2011
@@ -163,4 +163,4 @@ p {
.codefrag {
font-family: "Courier New", Courier, monospace;
font-size: 110%;
-}
\ No newline at end of file
+}
Modified: lucene/dev/branches/docvalues/solr/site/skin/print.css
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/skin/print.css?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/skin/print.css (original)
+++ lucene/dev/branches/docvalues/solr/site/skin/print.css Mon May 2 13:50:57 2011
@@ -51,4 +51,4 @@ a:link, a:visited {
acronym {
border: 0;
-}
\ No newline at end of file
+}
Modified: lucene/dev/branches/docvalues/solr/site/skin/profile.css
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/skin/profile.css?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/skin/profile.css (original)
+++ lucene/dev/branches/docvalues/solr/site/skin/profile.css Mon May 2 13:50:57 2011
@@ -172,4 +172,4 @@ a:hover { color:#6587ff}
}
-
\ No newline at end of file
+
Modified: lucene/dev/branches/docvalues/solr/site/skin/screen.css
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/skin/screen.css?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/skin/screen.css (original)
+++ lucene/dev/branches/docvalues/solr/site/skin/screen.css Mon May 2 13:50:57 2011
@@ -584,4 +584,4 @@ p.instruction {
list-style-image: url('../images/instruction_arrow.png');
list-style-position: outside;
margin-left: 2em;
-}
\ No newline at end of file
+}
Modified: lucene/dev/branches/docvalues/solr/site/tutorial.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/tutorial.html?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/tutorial.html (original)
+++ lucene/dev/branches/docvalues/solr/site/tutorial.html Mon May 2 13:50:57 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
<div class="menuitem">
<a href="api/solrj/index.html">SolrJ Javadoc</a>
</div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
</div>
<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
<div id="menu_1.3" class="menuitemgroup">
Modified: lucene/dev/branches/docvalues/solr/site/version_control.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/site/version_control.html?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/site/version_control.html (original)
+++ lucene/dev/branches/docvalues/solr/site/version_control.html Mon May 2 13:50:57 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
<div class="menuitem">
<a href="api/solrj/index.html">SolrJ Javadoc</a>
</div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
</div>
<div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Resources</div>
<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
Modified: lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/SolrDocumentList.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/SolrDocumentList.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/SolrDocumentList.java (original)
+++ lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/SolrDocumentList.java Mon May 2 13:50:57 2011
@@ -61,7 +61,7 @@ public class SolrDocumentList extends Ar
public String toString() {
return "{numFound="+numFound
+",start="+start
- + (maxScore!=null ? ""+maxScore : "")
+ + (maxScore!=null ? ",maxScore="+maxScore : "")
+",docs="+super.toString()
+"}";
}
Modified: lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/params/UpdateParams.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/params/UpdateParams.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/params/UpdateParams.java (original)
+++ lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/params/UpdateParams.java Mon May 2 13:50:57 2011
@@ -43,8 +43,11 @@ public interface UpdateParams
/** Rollback update commands */
public static String ROLLBACK = "rollback";
- /** Select the update processor to use. A RequestHandler may or may not respect this parameter */
- public static final String UPDATE_PROCESSOR = "update.processor";
+ /** Select the update processor chain to use. A RequestHandler may or may not respect this parameter */
+ public static final String UPDATE_CHAIN = "update.chain";
+ // TODO: Include the old deprecated param, for removal in Solr 4.0
+ public static final String UPDATE_CHAIN_DEPRECATED = "update.processor";
+
/**
* If optimizing, set the maximum number of segments left in the index after optimization. 1 is the default (and is equivalent to calling IndexWriter.optimize() in Lucene).
*/
Modified: lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/util/NamedList.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/util/NamedList.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/util/NamedList.java (original)
+++ lucene/dev/branches/docvalues/solr/src/common/org/apache/solr/common/util/NamedList.java Mon May 2 13:50:57 2011
@@ -43,7 +43,7 @@ import java.io.Serializable;
* by key, so ResponseWriters that output to a format such as JSON will normally
* choose a data structure that allows order to be easily preserved in various
* clients (i.e. not a straight map).
- * If access by key is more important, see {@link SimpleOrderedMap},
+ * If access by key is more important for serialization, see {@link SimpleOrderedMap},
* or simply use a regular {@link Map}
* </p>
*
@@ -200,10 +200,14 @@ public class NamedList<T> implements Clo
/**
* Gets the value for the first instance of the specified name
* found.
- *
+ * <p>
+ * NOTE: this runs in linear time (it scans starting at the
+ * beginning of the list until it finds the first pair with
+ * the specified name).
* @return null if not found or if the value stored was null.
* @see #indexOf
* @see #get(String,int)
+ *
*/
public T get(String name) {
return get(name,0);
@@ -212,7 +216,10 @@ public class NamedList<T> implements Clo
/**
* Gets the value for the first instance of the specified name
* found starting at the specified index.
- *
+ * <p>
+ * NOTE: this runs in linear time (it scans starting at the
+ * specified position until it finds the first pair with
+ * the specified name).
* @return null if not found or if the value stored was null.
* @see #indexOf
*/
@@ -377,6 +384,11 @@ public class NamedList<T> implements Clo
return iter;
}
+ /**
+ * NOTE: this runs in linear time (it scans starting at the
+ * beginning of the list until it finds the first pair with
+ * the specified name).
+ */
public T remove(String name) {
int idx = indexOf(name, 0);
if(idx != -1) return remove(idx);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/CollationKeyFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/CollationKeyFilterFactory.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/CollationKeyFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/CollationKeyFilterFactory.java Mon May 2 13:50:57 2011
@@ -69,7 +69,9 @@ import org.apache.solr.util.plugin.Resou
* @see Locale
* @see RuleBasedCollator
* @since solr 3.1
+ * @deprecated use {@link org.apache.solr.schema.CollationField} instead.
*/
+@Deprecated
public class CollationKeyFilterFactory extends BaseTokenFilterFactory implements ResourceLoaderAware {
private Collator collator;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/AbstractSolrEventListener.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/AbstractSolrEventListener.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/AbstractSolrEventListener.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/AbstractSolrEventListener.java Mon May 2 13:50:57 2011
@@ -23,7 +23,7 @@ import org.apache.solr.search.SolrIndexS
/**
*/
-class AbstractSolrEventListener implements SolrEventListener {
+public class AbstractSolrEventListener implements SolrEventListener {
protected final SolrCore core;
public AbstractSolrEventListener(SolrCore core) {
this.core = core;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/CoreContainer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/CoreContainer.java?rev=1098566&r1=1098565&r2=1098566&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/CoreContainer.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/CoreContainer.java Mon May 2 13:50:57 2011
@@ -79,6 +79,7 @@ public class CoreContainer
protected Map<String ,IndexSchema> indexSchemaCache;
protected String adminHandler;
protected boolean shareSchema;
+ protected Integer zkClientTimeout;
protected String solrHome;
protected String defaultCoreName = "";
private ZkController zkController;
@@ -313,7 +314,7 @@ public class CoreContainer
zkHost = cfg.get("solr/@zkHost" , null);
adminPath = cfg.get("solr/cores/@adminPath", null);
shareSchema = cfg.getBool("solr/cores/@shareSchema", false);
- int zkClientTimeout = cfg.getInt("solr/cores/@zkClientTimeout", 10000);
+ zkClientTimeout = cfg.getInt("solr/cores/@zkClientTimeout", 10000);
hostPort = System.getProperty("hostPort");
if (hostPort == null) {
@@ -500,7 +501,12 @@ public class CoreContainer
SolrCore old = null;
synchronized (cores) {
old = cores.put(name, core);
+ /*
+ * set both the name of the descriptor and the name of the
+ * core, since the descriptors name is used for persisting.
+ */
core.setName(name);
+ core.getCoreDescriptor().name = name;
}
if (zkController != null) {
@@ -884,6 +890,7 @@ public class CoreContainer
if (this.libDir != null) {
writeAttribute(w,"sharedLib",libDir);
}
+ if(zkHost != null) writeAttribute(w, "zkHost", zkHost);
writeAttribute(w,"persistent",isPersistent());
w.write(">\n");
@@ -892,9 +899,13 @@ public class CoreContainer
}
w.write(" <cores");
writeAttribute(w, "adminPath",adminPath);
- if(adminHandler != null) writeAttribute(w, "adminHandler",adminHandler);
- if(shareSchema) writeAttribute(w, "shareSchema","true");
- if(!defaultCoreName.equals("")) writeAttribute(w, "defaultCoreName",defaultCoreName);
+ if(adminHandler != null) writeAttribute(w, "adminHandler", adminHandler);
+ if(shareSchema) writeAttribute(w, "shareSchema", "true");
+ if(!defaultCoreName.equals("")) writeAttribute(w, "defaultCoreName", defaultCoreName);
+ if(host != null) writeAttribute(w, "host", host);
+ if(hostPort != null) writeAttribute(w, "hostPort", hostPort);
+ if(zkClientTimeout != null) writeAttribute(w, "zkClientTimeout", zkClientTimeout);
+ if(hostContext != null) writeAttribute(w, "hostContext", hostContext);
w.write(">\n");
synchronized(cores) {