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/01/05 21:25:44 UTC
svn commit: r1055622 [11/14] - in /lucene/dev/branches/docvalues: ./
dev-tools/ dev-tools/eclipse/ dev-tools/idea/ dev-tools/idea/.idea/
dev-tools/idea/.idea/libraries/ dev-tools/idea/lucene/
dev-tools/idea/lucene/contrib/ dev-tools/idea/lucene/contrib...
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/DisMaxQParserPlugin.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/DisMaxQParserPlugin.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/DisMaxQParserPlugin.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/DisMaxQParserPlugin.java Wed Jan 5 20:25:17 2011
@@ -22,10 +22,92 @@ import org.apache.solr.request.SolrQuery
/**
* Create a dismax query from the input value.
- * <br>Other parameters: all main query related parameters from the {@link org.apache.solr.handler.DisMaxRequestHandler} are supported.
- * localParams are checked before global request params.
+ * <br>localParams are checked before global request params.
* <br>Example: <code>{!dismax qf='myfield mytitle^2'}foo</code> creates a dismax query across
* across myfield and mytitle, with a higher weight on mytitle.
+ *
+ * <p>
+ * A Generic query plugin designed to be given a simple query expression
+ * from a user, which it will then query against a variety of
+ * pre-configured fields, in a variety of ways, using BooleanQueries,
+ * DisjunctionMaxQueries, and PhraseQueries.
+ * </p>
+ *
+ * <p>
+ * All of the following options may be configured for this plugin
+ * in the solrconfig as defaults, and may be overriden as request parameters
+ * </p>
+ *
+ * <ul>
+ * <li>q.alt - An alternate query to be used in cases where the main
+ * query (q) is not specified (or blank). This query should
+ * be expressed in the Standard SolrQueryParser syntax (you
+ * can use <code>q.alt=*:*</code> to denote that all documents
+ * should be returned when no query is specified)
+ * </li>
+ * <li>tie - (Tie breaker) float value to use as tiebreaker in
+ * DisjunctionMaxQueries (should be something much less than 1)
+ * </li>
+ * <li> qf - (Query Fields) fields and boosts to use when building
+ * DisjunctionMaxQueries from the users query. Format is:
+ * "<code>fieldA^1.0 fieldB^2.2</code>".
+ * This param can be specified multiple times, and the fields
+ * are additive.
+ * </li>
+ * <li> mm - (Minimum Match) this supports a wide variety of
+ * complex expressions.
+ * read {@link org.apache.solr.util.SolrPluginUtils#setMinShouldMatch SolrPluginUtils.setMinShouldMatch} and <a href="http://lucene.apache.org/solr/api/org/apache/solr/util/doc-files/min-should-match.html">mm expression format</a> for details.
+ * </li>
+ * <li> pf - (Phrase Fields) fields/boosts to make phrase queries out
+ * of, to boost the users query for exact matches on the specified fields.
+ * Format is: "<code>fieldA^1.0 fieldB^2.2</code>".
+ * This param can be specified multiple times, and the fields
+ * are additive.
+ * </li>
+ * <li> ps - (Phrase Slop) amount of slop on phrase queries built for pf
+ * fields.
+ * </li>
+ * <li> qs - (Query Slop) amount of slop on phrase queries explicitly
+ * specified in the "q" for qf fields.
+ * </li>
+ * <li> bq - (Boost Query) a raw lucene query that will be included in the
+ * users query to influence the score. If this is a BooleanQuery
+ * with a default boost (1.0f), then the individual clauses will be
+ * added directly to the main query. Otherwise, the query will be
+ * included as is.
+ * This param can be specified multiple times, and the boosts are
+ * are additive. NOTE: the behaviour listed above is only in effect
+ * if a single <code>bq</code> paramter is specified. Hence you can
+ * disable it by specifying an additional, blank, <code>bq</code>
+ * parameter.
+ * </li>
+ * <li> bf - (Boost Functions) functions (with optional boosts) that will be
+ * included in the users query to influence the score.
+ * Format is: "<code>funcA(arg1,arg2)^1.2
+ * funcB(arg3,arg4)^2.2</code>". NOTE: Whitespace is not allowed
+ * in the function arguments.
+ * This param can be specified multiple times, and the functions
+ * are additive.
+ * </li>
+ * <li> fq - (Filter Query) a raw lucene query that can be used
+ * to restrict the super set of products we are interested in - more
+ * efficient then using bq, but doesn't influence score.
+ * This param can be specified multiple times, and the filters
+ * are additive.
+ * </li>
+ * </ul>
+ *
+ * <p>
+ * The following options are only available as request params...
+ * </p>
+ *
+ * <ul>
+ * <li> q - (Query) the raw unparsed, unescaped, query from the user.
+ * </li>
+ * <li>sort - (Order By) list of fields and direction to sort on.
+ * </li>
+ * </ul>
+ *
*/
public class DisMaxQParserPlugin extends QParserPlugin {
public static String NAME = "dismax";
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/DocSet.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/DocSet.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/DocSet.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/DocSet.java Wed Jan 5 20:25:17 2011
@@ -89,10 +89,7 @@ public interface DocSet /* extends Colle
*
* @return
* An OpenBitSet with the bit number of every docid set in the set.
- *
- * @deprecated Use {@link #iterator()} to access all docs instead.
*/
- @Deprecated
public OpenBitSet getBits();
/**
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java Wed Jan 5 20:25:17 2011
@@ -27,7 +27,6 @@ import org.apache.lucene.queryParser.Que
import org.apache.lucene.search.*;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
-import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.DefaultSolrParams;
import org.apache.solr.common.params.DisMaxParams;
import org.apache.solr.common.params.SolrParams;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/FieldQParserPlugin.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/FieldQParserPlugin.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/FieldQParserPlugin.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/FieldQParserPlugin.java Wed Jan 5 20:25:17 2011
@@ -16,24 +16,14 @@
*/
package org.apache.solr.search;
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.Token;
-import org.apache.lucene.analysis.TokenStream;
-import org.apache.lucene.index.Term;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.search.*;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
-import org.apache.solr.common.SolrException;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.FieldType;
-import org.apache.solr.schema.TextField;
import org.apache.solr.schema.SchemaField;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.ArrayList;
-
/**
* Create a field query from the input value, applying text analysis and constructing a phrase query if appropriate.
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java Wed Jan 5 20:25:17 2011
@@ -18,8 +18,6 @@ package org.apache.solr.search;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ConstantScoreQuery;
-import org.apache.lucene.search.Filter;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/LuceneQParserPlugin.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/LuceneQParserPlugin.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/LuceneQParserPlugin.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/LuceneQParserPlugin.java Wed Jan 5 20:25:17 2011
@@ -17,7 +17,6 @@
package org.apache.solr.search;
import org.apache.lucene.queryParser.ParseException;
-import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Sort;
import org.apache.solr.common.SolrException;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/LuceneQueryOptimizer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/LuceneQueryOptimizer.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/LuceneQueryOptimizer.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/LuceneQueryOptimizer.java Wed Jan 5 20:25:17 2011
@@ -24,7 +24,6 @@ package org.apache.solr.search;
import org.apache.lucene.search.*;
import java.util.LinkedHashMap;
-import java.util.List;
import java.util.Map;
import java.io.IOException;
@@ -55,7 +54,7 @@ class LuceneQueryOptimizer {
}
public TopDocs optimize(BooleanQuery original,
- Searcher searcher,
+ IndexSearcher searcher,
int numHits,
Query[] queryOut,
Filter[] filterOut
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/NestedQParserPlugin.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/NestedQParserPlugin.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/NestedQParserPlugin.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/NestedQParserPlugin.java Wed Jan 5 20:25:17 2011
@@ -21,9 +21,6 @@ import org.apache.lucene.search.Query;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.search.function.BoostedQuery;
-import org.apache.solr.search.function.FunctionQuery;
-import org.apache.solr.search.function.QueryValueSource;
import org.apache.solr.search.function.ValueSource;
/**
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/QueryParsing.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/QueryParsing.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/QueryParsing.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/QueryParsing.java Wed Jan 5 20:25:17 2011
@@ -19,7 +19,6 @@ package org.apache.solr.search;
import org.apache.lucene.index.Term;
import org.apache.lucene.queryParser.ParseException;
-import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.queryParser.QueryParser.Operator;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
@@ -44,14 +43,11 @@ import org.apache.solr.schema.IndexSchem
import org.apache.solr.schema.SchemaField;
import org.apache.solr.search.function.FunctionQuery;
import org.apache.solr.search.function.QueryValueSource;
-import org.apache.solr.search.function.ValueSource;
-
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.regex.Pattern;
/**
* Collection of static utilities useful for query parsing.
@@ -87,68 +83,6 @@ public class QueryParsing {
if (null == val) val = sch.getQueryParserDefaultOperator();
return "AND".equals(val) ? Operator.AND : Operator.OR;
}
-
-
-
- /**
- * Helper utility for parsing a query using the Lucene QueryParser syntax.
- *
- * @param qs query expression in standard Lucene syntax
- * @param schema used for default operator (overridden by params) and passed to the query parser for field format analysis information
- */
- public static Query parseQuery(String qs, IndexSchema schema) {
- return parseQuery(qs, null, schema);
- }
-
- /**
- * Helper utility for parsing a query using the Lucene QueryParser syntax.
- *
- * @param qs query expression in standard Lucene syntax
- * @param defaultField default field used for unqualified search terms in the query expression
- * @param schema used for default operator (overridden by params) and passed to the query parser for field format analysis information
- */
- public static Query parseQuery(String qs, String defaultField, IndexSchema schema) {
- try {
- Query query = schema.getSolrQueryParser(defaultField).parse(qs);
-
- if (SolrCore.log.isTraceEnabled()) {
- SolrCore.log.trace("After QueryParser:" + query);
- }
-
- return query;
-
- } catch (ParseException e) {
- SolrCore.log(e);
- throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Error parsing Lucene query", e);
- }
- }
-
- /**
- * Helper utility for parsing a query using the Lucene QueryParser syntax.
- *
- * @param qs query expression in standard Lucene syntax
- * @param defaultField default field used for unqualified search terms in the query expression
- * @param params used to determine the default operator, overriding the schema specified operator
- * @param schema used for default operator (overridden by params) and passed to the query parser for field format analysis information
- */
- public static Query parseQuery(String qs, String defaultField, SolrParams params, IndexSchema schema) {
- try {
- SolrQueryParser parser = schema.getSolrQueryParser(defaultField);
- parser.setDefaultOperator(getQueryParserDefaultOperator
- (schema, params.get(QueryParsing.OP)));
- Query query = parser.parse(qs);
-
- if (SolrCore.log.isTraceEnabled()) {
- SolrCore.log.trace("After QueryParser:" + query);
- }
-
- return query;
-
- } catch (ParseException e) {
- SolrCore.log(e);
- throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Query parsing error: " + e.getMessage(), e);
- }
- }
// note to self: something needs to detect infinite recursion when parsing queries
@@ -911,45 +845,4 @@ public class QueryParsing {
return out;
}
- /**
- * Parse a function, returning a FunctionQuery
- * <p/>
- * <p>
- * Syntax Examples....
- * </p>
- * <p/>
- * <pre>
- * // Numeric fields default to correct type
- * // (ie: IntFieldSource or FloatFieldSource)
- * // Others use explicit ord(...) to generate numeric field value
- * myfield
- * <p/>
- * // OrdFieldSource
- * ord(myfield)
- * <p/>
- * // ReverseOrdFieldSource
- * rord(myfield)
- * <p/>
- * // LinearFloatFunction on numeric field value
- * linear(myfield,1,2)
- * <p/>
- * // MaxFloatFunction of LinearFloatFunction on numeric field value or constant
- * max(linear(myfield,1,2),100)
- * <p/>
- * // ReciprocalFloatFunction on numeric field value
- * recip(myfield,1,2,3)
- * <p/>
- * // ReciprocalFloatFunction on ReverseOrdFieldSource
- * recip(rord(myfield),1,2,3)
- * <p/>
- * // ReciprocalFloatFunction on LinearFloatFunction on ReverseOrdFieldSource
- * recip(linear(rord(myfield),1,2),3,4,5)
- * </pre>
- */
- public static FunctionQuery parseFunction(String func, IndexSchema schema) throws ParseException {
- SolrCore core = SolrCore.getSolrCore();
- return (FunctionQuery) (QParser.getParser(func, "func", new LocalSolrQueryRequest(core, new HashMap())).parse());
- // return new FunctionQuery(parseValSource(new StrParser(func), schema));
- }
-
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/QueryResultKey.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/QueryResultKey.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/QueryResultKey.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/QueryResultKey.java Wed Jan 5 20:25:17 2011
@@ -17,13 +17,9 @@
package org.apache.solr.search;
-import org.apache.lucene.search.FieldComparator;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;
-import org.apache.solr.common.SolrException.ErrorCode;
-import org.apache.solr.common.SolrException;
-
import java.io.IOException;
import java.util.List;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrCacheBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrCacheBase.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrCacheBase.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrCacheBase.java Wed Jan 5 20:25:17 2011
@@ -17,16 +17,6 @@
package org.apache.solr.search;
-import org.apache.solr.common.SolrException;
-import org.apache.solr.common.util.NamedList;
-import org.apache.solr.common.util.SimpleOrderedMap;
-import org.apache.solr.core.SolrCore;
-
-import java.util.*;
-import java.util.concurrent.atomic.AtomicLong;
-import java.io.IOException;
-import java.net.URL;
-
/**
* Common base class of reusable functionality for SolrCaches
*/
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrConstantScoreQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrConstantScoreQuery.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrConstantScoreQuery.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrConstantScoreQuery.java Wed Jan 5 20:25:17 2011
@@ -59,7 +59,7 @@ public class SolrConstantScoreQuery exte
private float queryWeight;
private Map context;
- public ConstantWeight(Searcher searcher) throws IOException {
+ public ConstantWeight(IndexSearcher searcher) throws IOException {
this.similarity = getSimilarity(searcher);
this.context = ValueSource.newContext();
if (filter instanceof SolrFilter)
@@ -161,7 +161,7 @@ public class SolrConstantScoreQuery exte
}
@Override
- public Weight createWeight(Searcher searcher) {
+ public Weight createWeight(IndexSearcher searcher) {
try {
return new SolrConstantScoreQuery.ConstantWeight(searcher);
} catch (IOException e) {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrFilter.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrFilter.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrFilter.java Wed Jan 5 20:25:17 2011
@@ -18,7 +18,7 @@
package org.apache.solr.search;
import org.apache.lucene.search.Filter;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.DocIdSet;
import org.apache.lucene.index.IndexReader;
@@ -35,7 +35,7 @@ public abstract class SolrFilter extends
/** Implementations should propagate createWeight to sub-ValueSources which can store weight info in the context.
* The context object will be passed to getDocIdSet() where this info can be retrieved. */
- public abstract void createWeight(Map context, Searcher searcher) throws IOException;
+ public abstract void createWeight(Map context, IndexSearcher searcher) throws IOException;
public abstract DocIdSet getDocIdSet(Map context, IndexReader reader) throws IOException;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrIndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrIndexSearcher.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrIndexSearcher.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrIndexSearcher.java Wed Jan 5 20:25:17 2011
@@ -35,7 +35,6 @@ import org.apache.solr.core.SolrInfoMBea
import org.apache.solr.request.UnInvertedField;
import org.apache.solr.schema.IndexSchema;
import org.apache.solr.schema.SchemaField;
-import org.apache.solr.search.function.ValueSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -95,14 +94,6 @@ public class SolrIndexSearcher extends I
private final Collection<String> fieldNames;
private Collection<String> storedHighlightFieldNames;
- /** Creates a searcher searching the index in the named directory.
- *
- * @deprecated use alternate constructor
- */
- @Deprecated
- public SolrIndexSearcher(SolrCore core, IndexSchema schema, String name, String path, boolean enableCache) throws IOException {
- this(core, schema,name, core.getIndexReaderFactory().newReader(core.getDirectoryFactory().open(path), false), true, enableCache);
- }
/*
* Creates a searcher searching the index in the provided directory. Note:
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrQueryParser.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrQueryParser.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SolrQueryParser.java Wed Jan 5 20:25:17 2011
@@ -39,9 +39,6 @@ import org.apache.solr.schema.IndexSchem
import org.apache.solr.schema.SchemaField;
import org.apache.solr.schema.TextField;
-// TODO: implement the analysis of simple fields with
-// FieldType.toInternal() instead of going through the
-// analyzer. Should lead to faster query parsing.
/**
* A variation on the Lucene QueryParser which knows about the field
@@ -57,8 +54,6 @@ import org.apache.solr.schema.TextField;
* If the magic field name "<code>_val_</code>" is used in a term or
* phrase query, the value is parsed as a function.
* </p>
- *
- * @see QueryParsing#parseFunction
*/
public class SolrQueryParser extends QueryParser {
protected final IndexSchema schema;
@@ -67,32 +62,12 @@ public class SolrQueryParser extends Que
protected final Map<String, ReversedWildcardFilterFactory> leadingWildcards =
new HashMap<String, ReversedWildcardFilterFactory>();
- /**
- * Constructs a SolrQueryParser using the schema to understand the
- * formats and datatypes of each field. Only the defaultSearchField
- * will be used from the IndexSchema (unless overridden),
- * <solrQueryParser> will not be used.
- *
- * @param schema Used for default search field name if defaultField is null and field information is used for analysis
- * @param defaultField default field used for unspecified search terms. if null, the schema default field is used
- * @see IndexSchema#getDefaultSearchFieldName()
- */
- public SolrQueryParser(IndexSchema schema, String defaultField) {
- super(schema.getSolrConfig().getLuceneVersion("luceneMatchVersion", Version.LUCENE_30), defaultField == null ? schema.getDefaultSearchFieldName() : defaultField, schema.getQueryAnalyzer());
- this.schema = schema;
- this.parser = null;
- this.defaultField = defaultField;
- setLowercaseExpandedTerms(false);
- setEnablePositionIncrements(true);
- checkAllowLeadingWildcards();
- }
-
public SolrQueryParser(QParser parser, String defaultField) {
this(parser, defaultField, parser.getReq().getSchema().getQueryAnalyzer());
}
public SolrQueryParser(QParser parser, String defaultField, Analyzer analyzer) {
- super(parser.getReq().getSchema().getSolrConfig().getLuceneVersion("luceneMatchVersion", Version.LUCENE_30), defaultField, analyzer);
+ super(parser.getReq().getCore().getSolrConfig().getLuceneVersion("luceneMatchVersion", Version.LUCENE_30), defaultField, analyzer);
this.schema = parser.getReq().getSchema();
this.parser = parser;
this.defaultField = defaultField;
@@ -138,12 +113,8 @@ public class SolrQueryParser extends Que
// own functions.
if (field.charAt(0) == '_') {
if ("_val_".equals(field)) {
- if (parser==null) {
- return QueryParsing.parseFunction(queryText, schema);
- } else {
- QParser nested = parser.subQuery(queryText, "func");
- return nested.getQuery();
- }
+ QParser nested = parser.subQuery(queryText, "func");
+ return nested.getQuery();
} else if ("_query_".equals(field) && parser != null) {
return parser.subQuery(queryText, null).getQuery();
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SpatialFilterQParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SpatialFilterQParser.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SpatialFilterQParser.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/SpatialFilterQParser.java Wed Jan 5 20:25:17 2011
@@ -22,7 +22,6 @@ import org.apache.lucene.search.Query;
import org.apache.lucene.spatial.geometry.DistanceUnits;
import org.apache.lucene.spatial.DistanceUtils;
import org.apache.solr.common.SolrException;
-import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.params.SpatialParams;
import org.apache.solr.request.SolrQueryRequest;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/ValueSourceParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/ValueSourceParser.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/ValueSourceParser.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/ValueSourceParser.java Wed Jan 5 20:25:17 2011
@@ -20,7 +20,7 @@ import org.apache.lucene.index.IndexRead
import org.apache.lucene.index.Term;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.search.Query;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.spell.JaroWinklerDistance;
import org.apache.lucene.search.spell.LevensteinDistance;
@@ -614,7 +614,7 @@ class DateValueSourceParser extends Valu
public ValueSource getValueSource(FunctionQParser fp, String arg) {
if (arg == null) return null;
SchemaField f = fp.req.getSchema().getField(arg);
- if (f.getType().getClass() == DateField.class || f.getType().getClass() == LegacyDateField.class) {
+ if (f.getType().getClass() == DateField.class) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Can't use ms() function on non-numeric legacy date field " + arg);
}
return f.getType().getValueSource(f, fp);
@@ -889,7 +889,7 @@ abstract class Double2Parser extends Nam
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
a.createWeight(context,searcher);
b.createWeight(context,searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/BoostedQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/BoostedQuery.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/BoostedQuery.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/BoostedQuery.java Wed Jan 5 20:25:17 2011
@@ -53,16 +53,16 @@ public class BoostedQuery extends Query
q.extractTerms(terms);
}
- public Weight createWeight(Searcher searcher) throws IOException {
+ public Weight createWeight(IndexSearcher searcher) throws IOException {
return new BoostedQuery.BoostedWeight(searcher);
}
private class BoostedWeight extends Weight {
- Searcher searcher;
+ IndexSearcher searcher;
Weight qWeight;
Map context;
- public BoostedWeight(Searcher searcher) throws IOException {
+ public BoostedWeight(IndexSearcher searcher) throws IOException {
this.searcher = searcher;
this.qWeight = q.weight(searcher);
this.context = boostVal.newContext();
@@ -129,9 +129,9 @@ public class BoostedQuery extends Query
private final Scorer scorer;
private final DocValues vals;
private final IndexReader reader;
- private final Searcher searcher;
+ private final IndexSearcher searcher;
- private CustomScorer(Similarity similarity, Searcher searcher, IndexReader reader, BoostedQuery.BoostedWeight w,
+ private CustomScorer(Similarity similarity, IndexSearcher searcher, IndexReader reader, BoostedQuery.BoostedWeight w,
Scorer scorer, ValueSource vs) throws IOException {
super(similarity);
this.weight = w;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ByteFieldSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ByteFieldSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ByteFieldSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ByteFieldSource.java Wed Jan 5 20:25:17 2011
@@ -17,12 +17,8 @@ package org.apache.solr.search.function;
*/
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.FieldCache;
import org.apache.lucene.search.cache.ByteValuesCreator;
-import org.apache.lucene.search.cache.LongValuesCreator;
import org.apache.lucene.search.cache.CachedArray.ByteValues;
-import org.apache.lucene.search.cache.CachedArray.DoubleValues;
-import org.apache.lucene.search.cache.CachedArray.LongValues;
import java.io.IOException;
import java.util.Map;
@@ -86,4 +82,4 @@ public class ByteFieldSource extends Num
};
}
-}
\ No newline at end of file
+}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ConstNumberSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ConstNumberSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ConstNumberSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ConstNumberSource.java Wed Jan 5 20:25:17 2011
@@ -17,11 +17,6 @@
package org.apache.solr.search.function;
-import org.apache.lucene.index.IndexReader;
-
-import java.io.IOException;
-import java.util.Map;
-
/**
* <code>ConstNumberSource</code> is the base class for all constant numbers
*/
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/DocFreqValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/DocFreqValueSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/DocFreqValueSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/DocFreqValueSource.java Wed Jan 5 20:25:17 2011
@@ -19,11 +19,10 @@ package org.apache.solr.search.function;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.util.BytesRef;
import org.apache.solr.search.MutableValueInt;
import org.apache.solr.search.MutableValue;
-import org.apache.solr.util.ByteUtils;
import java.io.IOException;
import java.util.Map;
@@ -241,15 +240,13 @@ public class DocFreqValueSource extends
@Override
public DocValues getValues(Map context, IndexReader reader) throws IOException {
- Searcher searcher = (Searcher)context.get("searcher");
- // todo: we need docFreq that takes a BytesRef
- String strVal = ByteUtils.UTF8toUTF16(indexedBytes);
- int docfreq = searcher.docFreq(new Term(indexedField, strVal));
+ IndexSearcher searcher = (IndexSearcher)context.get("searcher");
+ int docfreq = searcher.docFreq(new Term(indexedField, indexedBytes));
return new ConstIntDocValues(docfreq, this);
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
context.put("searcher",searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/DoubleFieldSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/DoubleFieldSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/DoubleFieldSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/DoubleFieldSource.java Wed Jan 5 20:25:17 2011
@@ -19,11 +19,8 @@ package org.apache.solr.search.function;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.util.Bits;
-import org.apache.lucene.search.FieldCache;
import org.apache.lucene.search.cache.DoubleValuesCreator;
-import org.apache.lucene.search.cache.FloatValuesCreator;
import org.apache.lucene.search.cache.CachedArray.DoubleValues;
-import org.apache.lucene.search.cache.CachedArray.FloatValues;
import org.apache.solr.search.MutableValue;
import org.apache.solr.search.MutableValueDouble;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/DualFloatFunction.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/DualFloatFunction.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/DualFloatFunction.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/DualFloatFunction.java Wed Jan 5 20:25:17 2011
@@ -18,7 +18,7 @@
package org.apache.solr.search.function;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import java.io.IOException;
import java.util.Map;
@@ -69,7 +69,7 @@ public abstract class DualFloatFunction
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
a.createWeight(context,searcher);
b.createWeight(context,searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/FileFloatSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/FileFloatSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/FileFloatSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/FileFloatSource.java Wed Jan 5 20:25:17 2011
@@ -21,7 +21,6 @@ import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.util.StringHelper;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.solr.core.SolrCore;
import org.apache.solr.schema.SchemaField;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/FunctionQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/FunctionQuery.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/FunctionQuery.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/FunctionQuery.java Wed Jan 5 20:25:17 2011
@@ -60,12 +60,12 @@ public class FunctionQuery extends Query
public void extractTerms(Set terms) {}
protected class FunctionWeight extends Weight {
- protected Searcher searcher;
+ protected IndexSearcher searcher;
protected float queryNorm;
protected float queryWeight;
protected Map context;
- public FunctionWeight(Searcher searcher) throws IOException {
+ public FunctionWeight(IndexSearcher searcher) throws IOException {
this.searcher = searcher;
this.context = func.newContext();
func.createWeight(context, searcher);
@@ -184,7 +184,7 @@ public class FunctionQuery extends Query
@Override
- public Weight createWeight(Searcher searcher) throws IOException {
+ public Weight createWeight(IndexSearcher searcher) throws IOException {
return new FunctionQuery.FunctionWeight(searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/IDFValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/IDFValueSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/IDFValueSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/IDFValueSource.java Wed Jan 5 20:25:17 2011
@@ -18,12 +18,9 @@
package org.apache.solr.search.function;
import org.apache.lucene.index.*;
-import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Similarity;
import org.apache.lucene.util.BytesRef;
-import org.apache.solr.common.SolrException;
-import org.apache.solr.search.SolrIndexReader;
import org.apache.solr.util.ByteUtils;
import java.io.IOException;
@@ -42,7 +39,7 @@ public class IDFValueSource extends DocF
@Override
public DocValues getValues(Map context, IndexReader reader) throws IOException {
- Searcher searcher = (Searcher)context.get("searcher");
+ IndexSearcher searcher = (IndexSearcher)context.get("searcher");
Similarity sim = searcher.getSimilarity();
// todo: we need docFreq that takes a BytesRef
String strVal = ByteUtils.UTF8toUTF16(indexedBytes);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/IntFieldSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/IntFieldSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/IntFieldSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/IntFieldSource.java Wed Jan 5 20:25:17 2011
@@ -21,11 +21,7 @@ import org.apache.lucene.index.IndexRead
import org.apache.lucene.util.Bits;
import org.apache.solr.search.MutableValueInt;
import org.apache.solr.search.MutableValue;
-import org.apache.lucene.search.FieldCache;
-import org.apache.lucene.search.cache.FloatValuesCreator;
import org.apache.lucene.search.cache.IntValuesCreator;
-import org.apache.lucene.search.cache.CachedArray.DoubleValues;
-import org.apache.lucene.search.cache.CachedArray.FloatValues;
import org.apache.lucene.search.cache.CachedArray.IntValues;
import java.io.IOException;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/LinearFloatFunction.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/LinearFloatFunction.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/LinearFloatFunction.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/LinearFloatFunction.java Wed Jan 5 20:25:17 2011
@@ -18,7 +18,7 @@
package org.apache.solr.search.function;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import java.io.IOException;
import java.util.Map;
@@ -71,7 +71,7 @@ public class LinearFloatFunction extends
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
source.createWeight(context, searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/MaxDocValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/MaxDocValueSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/MaxDocValueSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/MaxDocValueSource.java Wed Jan 5 20:25:17 2011
@@ -17,7 +17,7 @@
package org.apache.solr.search.function;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import java.io.IOException;
import java.util.Map;
@@ -33,13 +33,13 @@ public class MaxDocValueSource extends V
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
context.put("searcher",searcher);
}
@Override
public DocValues getValues(Map context, IndexReader reader) throws IOException {
- Searcher searcher = (Searcher)context.get("searcher");
+ IndexSearcher searcher = (IndexSearcher)context.get("searcher");
return new ConstIntDocValues(searcher.maxDoc(), this);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/MaxFloatFunction.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/MaxFloatFunction.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/MaxFloatFunction.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/MaxFloatFunction.java Wed Jan 5 20:25:17 2011
@@ -18,7 +18,7 @@
package org.apache.solr.search.function;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import java.io.IOException;
import java.util.Map;
@@ -71,7 +71,7 @@ public class MaxFloatFunction extends Va
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
source.createWeight(context, searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/MultiFloatFunction.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/MultiFloatFunction.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/MultiFloatFunction.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/MultiFloatFunction.java Wed Jan 5 20:25:17 2011
@@ -17,7 +17,7 @@ package org.apache.solr.search.function;
*/
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import java.util.Map;
import java.util.Arrays;
@@ -95,7 +95,7 @@ public abstract class MultiFloatFunction
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
for (ValueSource source : sources)
source.createWeight(context, searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/NormValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/NormValueSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/NormValueSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/NormValueSource.java Wed Jan 5 20:25:17 2011
@@ -18,10 +18,8 @@
package org.apache.solr.search.function;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Similarity;
-import org.apache.solr.search.SolrIndexReader;
-
import java.io.IOException;
import java.util.Map;
@@ -41,13 +39,13 @@ public class NormValueSource extends Val
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
context.put("searcher",searcher);
}
@Override
public DocValues getValues(Map context, IndexReader reader) throws IOException {
- Searcher searcher = (Searcher)context.get("searcher");
+ IndexSearcher searcher = (IndexSearcher)context.get("searcher");
final Similarity similarity = searcher.getSimilarity();
final byte[] norms = reader.norms(field);
if (norms == null) {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/OrdFieldSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/OrdFieldSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/OrdFieldSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/OrdFieldSource.java Wed Jan 5 20:25:17 2011
@@ -20,7 +20,6 @@ package org.apache.solr.search.function;
import org.apache.lucene.index.IndexReader;
import org.apache.solr.search.MutableValue;
import org.apache.solr.search.MutableValueInt;
-import org.apache.solr.util.NumberUtils;
import java.io.IOException;
import java.util.Map;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/PowFloatFunction.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/PowFloatFunction.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/PowFloatFunction.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/PowFloatFunction.java Wed Jan 5 20:25:17 2011
@@ -17,10 +17,6 @@
package org.apache.solr.search.function;
-import org.apache.lucene.index.IndexReader;
-
-import java.io.IOException;
-
/** Function to raise the base "a" to the power "b"
*/
public class PowFloatFunction extends DualFloatFunction {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/QueryValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/QueryValueSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/QueryValueSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/QueryValueSource.java Wed Jan 5 20:25:17 2011
@@ -59,7 +59,7 @@ public class QueryValueSource extends Va
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
Weight w = q.weight(searcher);
context.put(this, w);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/RangeMapFloatFunction.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/RangeMapFloatFunction.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/RangeMapFloatFunction.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/RangeMapFloatFunction.java Wed Jan 5 20:25:17 2011
@@ -18,7 +18,7 @@
package org.apache.solr.search.function;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import java.io.IOException;
import java.util.Map;
@@ -76,7 +76,7 @@ public class RangeMapFloatFunction exten
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
source.createWeight(context, searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ReciprocalFloatFunction.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ReciprocalFloatFunction.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ReciprocalFloatFunction.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ReciprocalFloatFunction.java Wed Jan 5 20:25:17 2011
@@ -18,7 +18,7 @@
package org.apache.solr.search.function;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import java.io.IOException;
import java.util.Map;
@@ -84,7 +84,7 @@ public class ReciprocalFloatFunction ext
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
source.createWeight(context, searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ScaleFloatFunction.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ScaleFloatFunction.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ScaleFloatFunction.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ScaleFloatFunction.java Wed Jan 5 20:25:17 2011
@@ -18,7 +18,7 @@
package org.apache.solr.search.function;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import java.io.IOException;
import java.util.Map;
@@ -110,7 +110,7 @@ public class ScaleFloatFunction extends
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
source.createWeight(context, searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ShortFieldSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ShortFieldSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ShortFieldSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ShortFieldSource.java Wed Jan 5 20:25:17 2011
@@ -16,11 +16,7 @@ package org.apache.solr.search.function;
* limitations under the License.
*/
-import org.apache.lucene.search.FieldCache;
-import org.apache.lucene.search.cache.FloatValuesCreator;
import org.apache.lucene.search.cache.ShortValuesCreator;
-import org.apache.lucene.search.cache.CachedArray.FloatValues;
-import org.apache.lucene.search.cache.CachedArray.LongValues;
import org.apache.lucene.search.cache.CachedArray.ShortValues;
import org.apache.lucene.index.IndexReader;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/SingleFunction.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/SingleFunction.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/SingleFunction.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/SingleFunction.java Wed Jan 5 20:25:17 2011
@@ -17,7 +17,7 @@
package org.apache.solr.search.function;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import java.io.IOException;
import java.util.Map;
@@ -49,7 +49,7 @@ import java.util.Map;
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
source.createWeight(context, searcher);
}
}
\ No newline at end of file
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/SumFloatFunction.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/SumFloatFunction.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/SumFloatFunction.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/SumFloatFunction.java Wed Jan 5 20:25:17 2011
@@ -17,13 +17,6 @@
package org.apache.solr.search.function;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Searcher;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Map;
-
/**
* <code>SumFloatFunction</code> returns the sum of it's components.
*/
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/TFValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/TFValueSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/TFValueSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/TFValueSource.java Wed Jan 5 20:25:17 2011
@@ -2,7 +2,7 @@ package org.apache.solr.search.function;
import org.apache.lucene.index.*;
import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Similarity;
import org.apache.lucene.util.BytesRef;
import org.apache.solr.common.SolrException;
@@ -25,7 +25,7 @@ public class TFValueSource extends TermF
// use MultiFields, just in case someone did a top() function
Fields fields = MultiFields.getFields(reader);
final Terms terms = fields.terms(field);
- final Similarity similarity = ((Searcher)context.get("searcher")).getSimilarity();
+ final Similarity similarity = ((IndexSearcher)context.get("searcher")).getSimilarity();
return new FloatDocValues(this) {
DocsEnum docs ;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/TermFreqValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/TermFreqValueSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/TermFreqValueSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/TermFreqValueSource.java Wed Jan 5 20:25:17 2011
@@ -19,8 +19,6 @@ package org.apache.solr.search.function;
import org.apache.lucene.index.*;
import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.search.Searcher;
-import org.apache.lucene.search.Similarity;
import org.apache.lucene.util.BytesRef;
import org.apache.solr.common.SolrException;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ValueSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ValueSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ValueSource.java Wed Jan 5 20:25:17 2011
@@ -18,11 +18,10 @@
package org.apache.solr.search.function;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Explanation;
import org.apache.lucene.search.FieldComparator;
import org.apache.lucene.search.FieldComparatorSource;
import org.apache.lucene.search.Scorer;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.SortField;
import org.apache.lucene.util.Bits;
import org.apache.lucene.index.MultiFields;
@@ -42,18 +41,11 @@ import java.util.Collections;
*/
public abstract class ValueSource implements Serializable {
- @Deprecated
- public DocValues getValues(IndexReader reader) throws IOException {
- return getValues(null, reader);
- }
-
/**
* Gets the values for this reader and the context that was previously
* passed to createWeight()
*/
- public DocValues getValues(Map context, IndexReader reader) throws IOException {
- return getValues(reader);
- }
+ public abstract DocValues getValues(Map context, IndexReader reader) throws IOException;
public abstract boolean equals(Object o);
@@ -92,7 +84,7 @@ public abstract class ValueSource implem
* weight info in the context. The context object will be passed to getValues()
* where this info can be retrieved.
*/
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
}
/**
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ValueSourceRangeFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ValueSourceRangeFilter.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ValueSourceRangeFilter.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/ValueSourceRangeFilter.java Wed Jan 5 20:25:17 2011
@@ -17,10 +17,9 @@
package org.apache.solr.search.function;
-import org.apache.lucene.search.Filter;
import org.apache.lucene.search.DocIdSet;
import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.index.IndexReader;
import org.apache.solr.search.SolrFilter;
@@ -59,7 +58,7 @@ public class ValueSourceRangeFilter exte
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
valueSource.createWeight(context, searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/VectorValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/VectorValueSource.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/VectorValueSource.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/VectorValueSource.java Wed Jan 5 20:25:17 2011
@@ -17,7 +17,7 @@ package org.apache.solr.search.function;
*/
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.solr.search.function.MultiValueSource;
import org.apache.solr.search.function.DocValues;
import org.apache.solr.search.function.ValueSource;
@@ -178,7 +178,7 @@ public class VectorValueSource extends M
};
}
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
for (ValueSource source : sources)
source.createWeight(context, searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/GeohashHaversineFunction.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/GeohashHaversineFunction.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/GeohashHaversineFunction.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/GeohashHaversineFunction.java Wed Jan 5 20:25:17 2011
@@ -21,7 +21,7 @@ import org.apache.lucene.spatial.Distanc
import org.apache.solr.search.function.ValueSource;
import org.apache.solr.search.function.DocValues;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.spatial.geohash.GeoHashUtils;
import java.util.Map;
@@ -108,7 +108,7 @@ public class GeohashHaversineFunction ex
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
geoHash1.createWeight(context, searcher);
geoHash2.createWeight(context, searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/HaversineConstFunction.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/HaversineConstFunction.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/HaversineConstFunction.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/HaversineConstFunction.java Wed Jan 5 20:25:17 2011
@@ -18,7 +18,7 @@ package org.apache.solr.search.function.
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.queryParser.ParseException;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.spatial.DistanceUtils;
import org.apache.lucene.spatial.tier.InvalidGeoException;
import org.apache.solr.common.params.SpatialParams;
@@ -234,7 +234,7 @@ public class HaversineConstFunction exte
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
latSource.createWeight(context, searcher);
lonSource.createWeight(context, searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/HaversineFunction.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/HaversineFunction.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/HaversineFunction.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/HaversineFunction.java Wed Jan 5 20:25:17 2011
@@ -17,7 +17,7 @@ package org.apache.solr.search.function.
*/
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.spatial.DistanceUtils;
import org.apache.solr.common.SolrException;
import org.apache.solr.search.function.MultiValueSource;
@@ -132,7 +132,7 @@ public class HaversineFunction extends V
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
p1.createWeight(context, searcher);
p2.createWeight(context, searcher);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/VectorDistanceFunction.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/VectorDistanceFunction.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/VectorDistanceFunction.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/search/function/distance/VectorDistanceFunction.java Wed Jan 5 20:25:17 2011
@@ -17,7 +17,7 @@ package org.apache.solr.search.function.
*/
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Searcher;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.spatial.DistanceUtils;
import org.apache.solr.common.SolrException;
import org.apache.solr.search.function.DocValues;
@@ -130,7 +130,7 @@ public class VectorDistanceFunction exte
}
@Override
- public void createWeight(Map context, Searcher searcher) throws IOException {
+ public void createWeight(Map context, IndexSearcher searcher) throws IOException {
source1.createWeight(context, searcher);
source2.createWeight(context, searcher);
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/spelling/AbstractLuceneSpellChecker.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/spelling/AbstractLuceneSpellChecker.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/spelling/AbstractLuceneSpellChecker.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/spelling/AbstractLuceneSpellChecker.java Wed Jan 5 20:25:17 2011
@@ -21,7 +21,6 @@ import org.apache.lucene.search.spell.St
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/spelling/SolrSpellChecker.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/spelling/SolrSpellChecker.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/spelling/SolrSpellChecker.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/spelling/SolrSpellChecker.java Wed Jan 5 20:25:17 2011
@@ -17,14 +17,11 @@ package org.apache.solr.spelling;
*/
import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.Token;
-import org.apache.lucene.index.IndexReader;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.SolrCore;
import org.apache.solr.search.SolrIndexSearcher;
import java.io.IOException;
-import java.util.Collection;
/**
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/spelling/SpellCheckCollator.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/spelling/SpellCheckCollator.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/spelling/SpellCheckCollator.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/spelling/SpellCheckCollator.java Wed Jan 5 20:25:17 2011
@@ -21,16 +21,13 @@ import java.util.Arrays;
import java.util.List;
import org.apache.lucene.analysis.Token;
-import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.handler.component.QueryComponent;
import org.apache.solr.handler.component.ResponseBuilder;
import org.apache.solr.handler.component.SearchComponent;
-import org.apache.solr.handler.component.SearchHandler;
import org.apache.solr.request.LocalSolrQueryRequest;
-import org.apache.solr.request.SolrQueryRequestBase;
import org.apache.solr.response.SolrQueryResponse;
import org.mortbay.log.Log;
import org.slf4j.Logger;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/AddUpdateCommand.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/AddUpdateCommand.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/AddUpdateCommand.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/AddUpdateCommand.java Wed Jan 5 20:25:17 2011
@@ -22,6 +22,7 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.index.Term;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.SolrInputField;
+import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.IndexSchema;
import org.apache.solr.schema.SchemaField;
@@ -40,13 +41,14 @@ public class AddUpdateCommand extends Up
// to index.
public SolrInputDocument solrDoc;
- public boolean allowDups;
- public boolean overwritePending;
- public boolean overwriteCommitted;
+ public boolean overwrite = true;
public Term updateTerm;
public int commitWithin = -1;
+ public AddUpdateCommand(SolrQueryRequest req) {
+ super("add", req);
+ }
/** Reset state to reuse this object with a different document in the same request */
public void clear() {
@@ -105,18 +107,12 @@ public class AddUpdateCommand extends Up
return "(null)";
}
- public AddUpdateCommand() {
- super("add");
- }
-
@Override
public String toString() {
StringBuilder sb = new StringBuilder(commandName);
sb.append(':');
if (indexedId !=null) sb.append("id=").append(indexedId);
- sb.append(",allowDups=").append(allowDups);
- sb.append(",overwritePending=").append(overwritePending);
- sb.append(",overwriteCommitted=").append(overwriteCommitted);
+ if (!overwrite) sb.append(",overwrite=").append(overwrite);
return sb.toString();
}
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/CommitUpdateCommand.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/CommitUpdateCommand.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/CommitUpdateCommand.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/CommitUpdateCommand.java Wed Jan 5 20:25:17 2011
@@ -16,6 +16,9 @@
*/
package org.apache.solr.update;
+
+import org.apache.solr.request.SolrQueryRequest;
+
/**
* @version $Id$
*/
@@ -32,8 +35,8 @@ public class CommitUpdateCommand extends
*/
public int maxOptimizeSegments = 1;
- public CommitUpdateCommand(boolean optimize) {
- super("commit");
+ public CommitUpdateCommand(SolrQueryRequest req, boolean optimize) {
+ super("commit", req);
this.optimize=optimize;
}
public String toString() {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/DeleteUpdateCommand.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/DeleteUpdateCommand.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/DeleteUpdateCommand.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/DeleteUpdateCommand.java Wed Jan 5 20:25:17 2011
@@ -16,17 +16,18 @@
*/
package org.apache.solr.update;
+
+import org.apache.solr.request.SolrQueryRequest;
+
/**
* @version $Id$
*/
public class DeleteUpdateCommand extends UpdateCommand {
public String id; // external (printable) id, for delete-by-id
public String query; // query string for delete-by-query
- public boolean fromPending;
- public boolean fromCommitted;
- public DeleteUpdateCommand() {
- super("delete");
+ public DeleteUpdateCommand(SolrQueryRequest req) {
+ super("delete", req);
}
public String toString() {
@@ -34,8 +35,6 @@ public class DeleteUpdateCommand extends
sb.append(':');
if (id!=null) sb.append("id=").append(id);
else sb.append("query=`").append(query).append('`');
- sb.append(",fromPending=").append(fromPending);
- sb.append(",fromCommitted=").append(fromCommitted);
return sb.toString();
}
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/DirectUpdateHandler2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/DirectUpdateHandler2.java?rev=1055622&r1=1055621&r2=1055622&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/DirectUpdateHandler2.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/update/DirectUpdateHandler2.java Wed Jan 5 20:25:17 2011
@@ -20,9 +20,9 @@
package org.apache.solr.update;
-import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.Term;
+import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.Query;
@@ -44,6 +44,11 @@ import java.util.concurrent.atomic.Atomi
import java.io.IOException;
import java.net.URL;
+import org.apache.solr.common.params.ModifiableSolrParams;
+import org.apache.solr.common.params.SolrParams;
+import org.apache.solr.request.LocalSolrQueryRequest;
+import org.apache.solr.request.SolrQueryRequest;
+import org.apache.solr.search.QParser;
import org.apache.solr.search.QueryParsing;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.util.NamedList;
@@ -53,74 +58,7 @@ import org.apache.solr.core.SolrCore;
/**
* <code>DirectUpdateHandler2</code> implements an UpdateHandler where documents are added
* directly to the main Lucene index as opposed to adding to a separate smaller index.
- * For this reason, not all combinations to/from pending and committed are supported.
- * This version supports efficient removal of duplicates on a commit. It works by maintaining
- * a related count for every document being added or deleted. At commit time, for every id with a count,
- * all but the last "count" docs with that id are deleted.
- * <p>
- *
- * Supported add command parameters:
- <TABLE BORDER>
- <TR>
- <TH>allowDups</TH>
- <TH>overwritePending</TH>
- <TH>overwriteCommitted</TH>
- <TH>efficiency</TH>
- </TR>
- <TR>
- <TD>false</TD>
- <TD>false</TD>
- <TD>true</TD>
-
- <TD>fast</TD>
- </TR>
- <TR>
- <TD>true or false</TD>
- <TD>true</TD>
- <TD>true</TD>
-
- <TD>fast</TD>
- </TR>
- <TR>
- <TD>true</TD>
- <TD>false</TD>
- <TD>false</TD>
- <TD>fastest</TD>
- </TR>
-
-</TABLE>
-
- <p>Supported delete commands:
- <TABLE BORDER>
- <TR>
- <TH>command</TH>
- <TH>fromPending</TH>
- <TH>fromCommitted</TH>
- <TH>efficiency</TH>
- </TR>
- <TR>
- <TD>delete</TD>
- <TD>true</TD>
- <TD>true</TD>
- <TD>fast</TD>
- </TR>
- <TR>
- <TD>deleteByQuery</TD>
- <TD>true</TD>
- <TD>true</TD>
- <TD>very slow*</TD>
- </TR>
-</TABLE>
-
- <p>* deleteByQuery causes a commit to happen (close current index writer, open new index reader)
- before it can be processed. If deleteByQuery functionality is needed, it's best if they can
- be batched and executed together so they may share the same index reader.
-
- *
- * @version $Id$
- * @since solr 0.9
*/
-
public class DirectUpdateHandler2 extends UpdateHandler {
// stats
@@ -201,11 +139,9 @@ public class DirectUpdateHandler2 extend
addCommandsCumulative.incrementAndGet();
int rc=-1;
- // if there is no ID field, use allowDups
+ // if there is no ID field, don't overwrite
if( idField == null ) {
- cmd.allowDups = true;
- cmd.overwriteCommitted = false;
- cmd.overwritePending = false;
+ cmd.overwrite = false;
}
iwAccess.lock();
@@ -225,7 +161,7 @@ public class DirectUpdateHandler2 extend
// should account for most of the time
Term updateTerm = null;
- if (cmd.overwriteCommitted || cmd.overwritePending) {
+ if (cmd.overwrite) {
if (cmd.indexedId == null) {
cmd.indexedId = getIndexedId(cmd.doc);
}
@@ -270,17 +206,6 @@ public class DirectUpdateHandler2 extend
deleteByIdCommands.incrementAndGet();
deleteByIdCommandsCumulative.incrementAndGet();
- if (!cmd.fromPending && !cmd.fromCommitted) {
- numErrors.incrementAndGet();
- numErrorsCumulative.incrementAndGet();
- throw new SolrException( SolrException.ErrorCode.BAD_REQUEST,"meaningless command: " + cmd);
- }
- if (!cmd.fromPending || !cmd.fromCommitted) {
- numErrors.incrementAndGet();
- numErrorsCumulative.incrementAndGet();
- throw new SolrException( SolrException.ErrorCode.BAD_REQUEST,"operation not supported" + cmd);
- }
-
iwCommit.lock();
try {
openWriter();
@@ -296,44 +221,40 @@ public class DirectUpdateHandler2 extend
// why not return number of docs deleted?
// Depending on implementation, we may not be able to immediately determine the num...
- public void deleteByQuery(DeleteUpdateCommand cmd) throws IOException {
- deleteByQueryCommands.incrementAndGet();
- deleteByQueryCommandsCumulative.incrementAndGet();
-
- if (!cmd.fromPending && !cmd.fromCommitted) {
- numErrors.incrementAndGet();
- numErrorsCumulative.incrementAndGet();
- throw new SolrException( SolrException.ErrorCode.BAD_REQUEST,"meaningless command: " + cmd);
- }
- if (!cmd.fromPending || !cmd.fromCommitted) {
- numErrors.incrementAndGet();
- numErrorsCumulative.incrementAndGet();
- throw new SolrException( SolrException.ErrorCode.BAD_REQUEST,"operation not supported" + cmd);
- }
+ public void deleteByQuery(DeleteUpdateCommand cmd) throws IOException {
+ deleteByQueryCommands.incrementAndGet();
+ deleteByQueryCommandsCumulative.incrementAndGet();
boolean madeIt=false;
boolean delAll=false;
try {
- Query q = QueryParsing.parseQuery(cmd.query, schema);
- delAll = MatchAllDocsQuery.class == q.getClass();
+ Query q = null;
+ try {
+ QParser parser = QParser.getParser(cmd.query, "lucene", cmd.req);
+ q = parser.getQuery();
+ } catch (ParseException e) {
+ throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, e);
+ }
- iwCommit.lock();
- try {
- if (delAll) {
- deleteAll();
- } else {
- openWriter();
- writer.deleteDocuments(q);
- }
- } finally {
- iwCommit.unlock();
- }
-
- madeIt=true;
-
- if( tracker.timeUpperBound > 0 ) {
- tracker.scheduleCommitWithin( tracker.timeUpperBound );
- }
+ delAll = MatchAllDocsQuery.class == q.getClass();
+
+ iwCommit.lock();
+ try {
+ if (delAll) {
+ deleteAll();
+ } else {
+ openWriter();
+ writer.deleteDocuments(q);
+ }
+ } finally {
+ iwCommit.unlock();
+ }
+
+ madeIt=true;
+
+ if( tracker.timeUpperBound > 0 ) {
+ tracker.scheduleCommitWithin( tracker.timeUpperBound );
+ }
} finally {
if (!madeIt) {
numErrors.incrementAndGet();
@@ -594,8 +515,9 @@ public class DirectUpdateHandler2 extend
/** This is the worker part for the ScheduledFuture **/
public synchronized void run() {
long started = System.currentTimeMillis();
+ SolrQueryRequest req = new LocalSolrQueryRequest(core, new ModifiableSolrParams());
try {
- CommitUpdateCommand command = new CommitUpdateCommand( false );
+ CommitUpdateCommand command = new CommitUpdateCommand(req, false );
command.waitFlush = true;
command.waitSearcher = true;
//no need for command.maxOptimizeSegments = 1; since it is not optimizing
@@ -608,6 +530,7 @@ public class DirectUpdateHandler2 extend
}
finally {
pending = null;
+ req.close();
}
// check if docs have been submitted since the commit started