SOLR-1367: Reverted, but kept the simple docList test, with modifications

git-svn-id: https://svn.apache.org/repos/asf/lucene/solr/trunk@805866 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Grant Ingersoll 2009-08-19 16:23:24 +00:00
parent 1b289c4f35
commit a86d0c24c3
4 changed files with 11 additions and 67 deletions

View File

@ -267,11 +267,9 @@ New Features
HTMLStripStandardTokenizerFactory deprecated. To strip HTML tags, HTMLStripCharFilter can be used
with an arbitrary Tokenizer. (koji)
68. SOLR-1367: Added callback mechanism for converting DocList to SolrDocumentList in SolrPluginUtils (gsingers)
68. SOLR-1275: Add expungeDeletes to DirectUpdateHandler2 (noble)
69. SOLR-1275: Add expungeDeletes to DirectUpdateHandler2 (noble)
70. SOLR-1372: Enhance FieldAnalysisRequestHandler to accept field value from content stream (ehatcher)
69. SOLR-1372: Enhance FieldAnalysisRequestHandler to accept field value from content stream (ehatcher)
Optimizations

View File

@ -1,37 +0,0 @@
package org.apache.solr.util;
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import org.apache.solr.common.SolrDocument;
/**
* Callback capability for modifying a SolrDocument in the {@link SolrPluginUtils#docListToSolrDocumentList(org.apache.solr.search.DocList, org.apache.solr.search.SolrIndexSearcher, java.util.Set, java.util.Map)}
*
* <p/>
* NOTE: This API is subject to change.
* Due to https://issues.apache.org/jira/browse/SOLR-1298 and https://issues.apache.org/jira/browse/SOLR-705, this interface may change in the future.
*
**/
public interface SolrDocumentModifier {
/**
* Implement this method to allow for changes to be made to the {@link org.apache.solr.common.SolrDocument} in the {@link SolrPluginUtils#docListToSolrDocumentList(org.apache.solr.search.DocList, org.apache.solr.search.SolrIndexSearcher, java.util.Set, SolrDocumentModifier, java.util.Map)}
* call.
* @param doc The {@link org.apache.solr.common.SolrDocument} that can be modified.
*/
void process(SolrDocument doc);
}

View File

@ -887,16 +887,6 @@ public class SolrPluginUtils {
}
}
public static SolrDocumentList docListToSolrDocumentList(
DocList docs,
SolrIndexSearcher searcher,
Set<String> fields,
Map<SolrDocument, Integer> ids ) throws IOException
{
return docListToSolrDocumentList(docs, searcher, fields, null, ids);
}
/**
* Convert a DocList to a SolrDocumentList
*
@ -906,17 +896,17 @@ public class SolrPluginUtils {
* @param docs The {@link org.apache.solr.search.DocList} to convert
* @param searcher The {@link org.apache.solr.search.SolrIndexSearcher} to use to load the docs from the Lucene index
* @param fields The names of the Fields to load
* @param docModifier The {@link SolrDocumentModifier}
* @param ids A map to store the ids of the docs
* @return The new {@link org.apache.solr.common.SolrDocumentList} containing all the loaded docs
* @throws java.io.IOException if there was a problem loading the docs
* @since solr 1.4
*/
public static SolrDocumentList docListToSolrDocumentList(
DocList docs,
SolrIndexSearcher searcher,
Set<String> fields, SolrDocumentModifier docModifier,
Map<SolrDocument, Integer> ids ) throws IOException{
DocList docs,
SolrIndexSearcher searcher,
Set<String> fields,
Map<SolrDocument, Integer> ids ) throws IOException
{
DocumentBuilder db = new DocumentBuilder(searcher.getSchema());
SolrDocumentList list = new SolrDocumentList();
list.setNumFound(docs.matches());
@ -940,9 +930,6 @@ public class SolrPluginUtils {
doc.addField("score", 0.0f);
}
if (docModifier != null) {
docModifier.process(doc);
}
list.add( doc );
if( ids != null ) {
@ -953,6 +940,7 @@ public class SolrPluginUtils {
}
/**
* Given a SolrQueryResponse replace the DocList if it is in the result.
* Otherwise add it to the response

View File

@ -54,7 +54,7 @@ public class SolrPluginUtilsTest extends AbstractSolrTestCase {
public String getSolrConfigFile() { return "solrconfig.xml"; }
public void testDocModifier() throws Exception {
public void testDocListConversion() throws Exception {
assertU("", adoc("id", "3234", "val_t", "quick red fox"));
assertU("", adoc("id", "3235", "val_t", "quick green fox"));
assertU("", adoc("id", "3236", "val_t", "quick brown fox"));
@ -69,16 +69,11 @@ public class SolrPluginUtilsTest extends AbstractSolrTestCase {
Set<String> fields = new HashSet<String>();
fields.add("val_t");
SolrDocumentModifier docMod = new SolrDocumentModifier() {
public void process(SolrDocument doc) {
doc.addField("junk", "foo");
}
};
SolrDocumentList list = SolrPluginUtils.docListToSolrDocumentList(docs, srchr, fields, docMod, null);
SolrDocumentList list = SolrPluginUtils.docListToSolrDocumentList(docs, srchr, fields, null);
assertTrue("list Size: " + list.size() + " is not: " + docs.size(), list.size() == docs.size());
for (SolrDocument document : list) {
assertNotNull(document.get("junk"));
assertNotNull(document.get("val_t"));
}
}