You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by ma...@apache.org on 2009/08/07 05:21:08 UTC
svn commit: r801872 - in /lucene/solr/trunk: ./ lib/
src/java/org/apache/solr/handler/component/
src/java/org/apache/solr/highlight/ src/java/org/apache/solr/schema/
src/java/org/apache/solr/search/ src/java/org/apache/solr/update/
src/java/org/apache/...
Author: markrmiller
Date: Fri Aug 7 03:21:06 2009
New Revision: 801872
URL: http://svn.apache.org/viewvc?rev=801872&view=rev
Log:
Upgraded to Lucene 2.9-dev r801856
Modified:
lucene/solr/trunk/CHANGES.txt
lucene/solr/trunk/lib/lucene-analyzers-2.9-dev.jar
lucene/solr/trunk/lib/lucene-core-2.9-dev.jar
lucene/solr/trunk/lib/lucene-highlighter-2.9-dev.jar
lucene/solr/trunk/lib/lucene-memory-2.9-dev.jar
lucene/solr/trunk/lib/lucene-misc-2.9-dev.jar
lucene/solr/trunk/lib/lucene-queries-2.9-dev.jar
lucene/solr/trunk/lib/lucene-snowball-2.9-dev.jar
lucene/solr/trunk/lib/lucene-spellchecker-2.9-dev.jar
lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryComponent.java
lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
lucene/solr/trunk/src/java/org/apache/solr/highlight/GapFragmenter.java
lucene/solr/trunk/src/java/org/apache/solr/highlight/RegexFragmenter.java
lucene/solr/trunk/src/java/org/apache/solr/schema/RandomSortField.java
lucene/solr/trunk/src/java/org/apache/solr/search/MissingStringLastComparatorSource.java
lucene/solr/trunk/src/java/org/apache/solr/search/SolrQueryParser.java
lucene/solr/trunk/src/java/org/apache/solr/update/SolrIndexWriter.java
lucene/solr/trunk/src/java/org/apache/solr/util/HighlightingUtils.java
Modified: lucene/solr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
--- lucene/solr/trunk/CHANGES.txt (original)
+++ lucene/solr/trunk/CHANGES.txt Fri Aug 7 03:21:06 2009
@@ -575,6 +575,8 @@
43. SOLR-1261: Lucene trunk renamed RangeQuery & Co to TermRangeQuery (Uwe Schindler via shalin)
+44. Upgraded to Lucene 2.9-dev r801856 (Mark Miller)
+
Build
----------------------
1. SOLR-776: Added in ability to sign artifacts via Ant for releases (gsingers)
Modified: lucene/solr/trunk/lib/lucene-analyzers-2.9-dev.jar
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/lib/lucene-analyzers-2.9-dev.jar?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
Binary files - no diff available.
Modified: lucene/solr/trunk/lib/lucene-core-2.9-dev.jar
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/lib/lucene-core-2.9-dev.jar?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
Binary files - no diff available.
Modified: lucene/solr/trunk/lib/lucene-highlighter-2.9-dev.jar
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/lib/lucene-highlighter-2.9-dev.jar?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
Binary files - no diff available.
Modified: lucene/solr/trunk/lib/lucene-memory-2.9-dev.jar
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/lib/lucene-memory-2.9-dev.jar?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
Binary files - no diff available.
Modified: lucene/solr/trunk/lib/lucene-misc-2.9-dev.jar
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/lib/lucene-misc-2.9-dev.jar?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
Binary files - no diff available.
Modified: lucene/solr/trunk/lib/lucene-queries-2.9-dev.jar
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/lib/lucene-queries-2.9-dev.jar?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
Binary files - no diff available.
Modified: lucene/solr/trunk/lib/lucene-snowball-2.9-dev.jar
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/lib/lucene-snowball-2.9-dev.jar?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
Binary files - no diff available.
Modified: lucene/solr/trunk/lib/lucene-spellchecker-2.9-dev.jar
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/lib/lucene-spellchecker-2.9-dev.jar?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
Binary files - no diff available.
Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryComponent.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryComponent.java?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryComponent.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryComponent.java Fri Aug 7 03:21:06 2009
@@ -225,8 +225,8 @@
}
if (comparator == null) {
- comparator = sortField.getComparator(1,0,sortField.getReverse());
- comparator.setNextReader(subReader, offset, 0);
+ comparator = sortField.getComparator(1,0);
+ comparator.setNextReader(subReader, offset);
if (comparators != null)
comparators[idx] = comparator;
}
Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryElevationComponent.java?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryElevationComponent.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryElevationComponent.java Fri Aug 7 03:21:06 2009
@@ -477,7 +477,7 @@
values[slot] = docVal(doc);
}
- public void setNextReader(IndexReader reader, int docBase, int numSlotsFull) throws IOException {
+ public void setNextReader(IndexReader reader, int docBase) throws IOException {
idIndex = FieldCache.DEFAULT.getStringIndex(reader, fieldname);
}
Modified: lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java Fri Aug 7 03:21:06 2009
@@ -133,19 +133,21 @@
* @param request The SolrQueryRequest
* @throws IOException
*/
- private SpanScorer getSpanQueryScorer(Query query, String fieldName, CachingTokenFilter tokenStream, SolrQueryRequest request) throws IOException {
+ private QueryScorer getSpanQueryScorer(Query query, String fieldName, TokenStream tokenStream, SolrQueryRequest request) throws IOException {
boolean reqFieldMatch = request.getParams().getFieldBool(fieldName, HighlightParams.FIELD_MATCH, false);
Boolean highlightMultiTerm = request.getParams().getBool(HighlightParams.HIGHLIGHT_MULTI_TERM);
if(highlightMultiTerm == null) {
highlightMultiTerm = false;
}
-
+ QueryScorer scorer;
if (reqFieldMatch) {
- return new SpanScorer(query, fieldName, tokenStream, highlightMultiTerm);
+ scorer = new QueryScorer(query, fieldName);
}
else {
- return new SpanScorer(query, null, tokenStream, highlightMultiTerm);
+ scorer = new QueryScorer(query, null);
}
+ scorer.setExpandMultiTermQuery(highlightMultiTerm);
+ return scorer;
}
/**
@@ -154,13 +156,13 @@
* @param fieldName The name of the field
* @param request The SolrQueryRequest
*/
- protected QueryScorer getQueryScorer(Query query, String fieldName, SolrQueryRequest request) {
+ protected QueryTermScorer getQueryScorer(Query query, String fieldName, SolrQueryRequest request) {
boolean reqFieldMatch = request.getParams().getFieldBool(fieldName, HighlightParams.FIELD_MATCH, false);
if (reqFieldMatch) {
- return new QueryScorer(query, request.getSearcher().getReader(), fieldName);
+ return new QueryTermScorer(query, request.getSearcher().getReader(), fieldName);
}
else {
- return new QueryScorer(query);
+ return new QueryTermScorer(query);
}
}
Modified: lucene/solr/trunk/src/java/org/apache/solr/highlight/GapFragmenter.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/highlight/GapFragmenter.java?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/highlight/GapFragmenter.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/highlight/GapFragmenter.java Fri Aug 7 03:21:06 2009
@@ -17,6 +17,10 @@
package org.apache.solr.highlight;
import org.apache.lucene.analysis.Token;
+import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
+import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
+import org.apache.lucene.analysis.tokenattributes.TermAttribute;
import org.apache.lucene.search.highlight.Fragmenter;
import org.apache.lucene.search.highlight.NullFragmenter;
import org.apache.lucene.search.highlight.SimpleFragmenter;
@@ -77,6 +81,9 @@
public static final int INCREMENT_THRESHOLD = 50;
protected int fragOffset = 0;
+ private OffsetAttribute offsetAtt;
+ private PositionIncrementAttribute posIncAtt;
+
public LuceneGapFragmenter() {
}
@@ -87,19 +94,22 @@
/* (non-Javadoc)
* @see org.apache.lucene.search.highlight.TextFragmenter#start(java.lang.String)
*/
- public void start(String originalText) {
+ public void start(String originalText, TokenStream tokenStream) {
+ offsetAtt = (OffsetAttribute) tokenStream.getAttribute(OffsetAttribute.class);
+ posIncAtt = (PositionIncrementAttribute) tokenStream.getAttribute(PositionIncrementAttribute.class);
fragOffset = 0;
}
/* (non-Javadoc)
* @see org.apache.lucene.search.highlight.TextFragmenter#isNewFragment(org.apache.lucene.analysis.Token)
*/
- public boolean isNewFragment(Token token) {
+ public boolean isNewFragment() {
+ int endOffset = offsetAtt.endOffset();
boolean isNewFrag =
- token.endOffset() >= fragOffset + getFragmentSize() ||
- token.getPositionIncrement() > INCREMENT_THRESHOLD;
+ endOffset >= fragOffset + getFragmentSize() ||
+ posIncAtt.getPositionIncrement() > INCREMENT_THRESHOLD;
if(isNewFrag) {
- fragOffset = token.endOffset();
+ fragOffset = endOffset;
}
return isNewFrag;
}
Modified: lucene/solr/trunk/src/java/org/apache/solr/highlight/RegexFragmenter.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/highlight/RegexFragmenter.java?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/highlight/RegexFragmenter.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/highlight/RegexFragmenter.java Fri Aug 7 03:21:06 2009
@@ -21,7 +21,9 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.lucene.analysis.Token;
+import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
+import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.search.highlight.Fragmenter;
import org.apache.lucene.search.highlight.NullFragmenter;
import org.apache.solr.common.params.DefaultSolrParams;
@@ -146,6 +148,9 @@
protected int targetOffset;
protected int[] hotspots;
+ private PositionIncrementAttribute posIncAtt;
+ private OffsetAttribute offsetAtt;
+
// ** other
// note: could dynamically change size of sentences extracted to match
// target frag size
@@ -193,10 +198,12 @@
/* (non-Javadoc)
* @see org.apache.lucene.search.highlight.TextFragmenter#start(java.lang.String)
*/
- public void start(String originalText) {
+ public void start(String originalText, TokenStream tokenStream) {
currentNumFrags = 1;
currentOffset = 0;
addHotSpots(originalText);
+ posIncAtt = (PositionIncrementAttribute) tokenStream.getAttribute(PositionIncrementAttribute.class);
+ offsetAtt = (OffsetAttribute) tokenStream.getAttribute(OffsetAttribute.class);
}
////////////////////////////////////
@@ -231,23 +238,24 @@
/* (non-Javadoc)
* @see org.apache.lucene.search.highlight.TextFragmenter#isNewFragment(org.apache.lucene.analysis.Token)
*/
- public boolean isNewFragment(Token token)
+ public boolean isNewFragment()
{
boolean isNewFrag = false;
int minFragLen = (int)((1.0f - slop)*targetFragChars);
-
+ int endOffset = offsetAtt.endOffset();
+
// ** determin isNewFrag
- if(token.getPositionIncrement() > incrementGapThreshold) {
+ if(posIncAtt.getPositionIncrement() > incrementGapThreshold) {
// large position gaps always imply new fragments
isNewFrag = true;
- } else if(token.endOffset() - currentOffset < minFragLen) {
+ } else if(endOffset - currentOffset < minFragLen) {
// we're not in our range of flexibility
isNewFrag = false;
} else if(targetOffset > 0) {
// we've already decided on a target
- isNewFrag = token.endOffset() > targetOffset;
+ isNewFrag = endOffset > targetOffset;
} else {
// we might be able to do something
@@ -256,7 +264,7 @@
int hotIndex;
// look for a close hotspot
- hotIndex = Arrays.binarySearch(hotspots, token.endOffset());
+ hotIndex = Arrays.binarySearch(hotspots, endOffset);
if(hotIndex < 0) hotIndex = -hotIndex;
if(hotIndex >= hotspots.length) {
// no more hotspots in this input stream
@@ -276,13 +284,13 @@
targetOffset = goal <= maxOffset ? goal : currentOffset + targetFragChars;
}
- isNewFrag = token.endOffset() > targetOffset;
+ isNewFrag = endOffset > targetOffset;
}
// ** operate on isNewFrag
if(isNewFrag) {
currentNumFrags++;
- currentOffset = token.endOffset();
+ currentOffset = endOffset;
targetOffset = -1;
}
return isNewFrag;
Modified: lucene/solr/trunk/src/java/org/apache/solr/schema/RandomSortField.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/schema/RandomSortField.java?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/schema/RandomSortField.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/schema/RandomSortField.java Fri Aug 7 03:21:06 2009
@@ -130,7 +130,7 @@
values[slot] = hash(doc+seed);
}
- public void setNextReader(IndexReader reader, int docBase, int numSlotsFull) throws IOException {
+ public void setNextReader(IndexReader reader, int docBase) throws IOException {
seed = getSeed(fieldname, reader);
}
Modified: lucene/solr/trunk/src/java/org/apache/solr/search/MissingStringLastComparatorSource.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/search/MissingStringLastComparatorSource.java?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/search/MissingStringLastComparatorSource.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/search/MissingStringLastComparatorSource.java Fri Aug 7 03:21:06 2009
@@ -177,7 +177,7 @@
readerGen[slot] = currentReaderGen;
}
- public void setNextReader(IndexReader reader, int docBase, int numSlotsFull) throws IOException {
+ public void setNextReader(IndexReader reader, int docBase) throws IOException {
FieldCache.StringIndex currentReaderValues = FieldCache.DEFAULT.getStringIndex(reader, field);
currentReaderGen++;
order = currentReaderValues.order;
Modified: lucene/solr/trunk/src/java/org/apache/solr/search/SolrQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/search/SolrQueryParser.java?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/search/SolrQueryParser.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/search/SolrQueryParser.java Fri Aug 7 03:21:06 2009
@@ -144,7 +144,7 @@
// (sortable numeric types don't do prefixes, but can do range queries)
Term t = new Term(field, termStr);
PrefixQuery prefixQuery = new PrefixQuery(t);
- prefixQuery.setConstantScoreRewrite(true);
+ prefixQuery.setRewriteMethod(MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE);
return prefixQuery;
}
@@ -153,7 +153,7 @@
if (q instanceof WildcardQuery) {
// use a constant score query to avoid overflowing clauses
WildcardQuery wildcardQuery = new WildcardQuery(((WildcardQuery)q).getTerm());
- wildcardQuery.setConstantScoreRewrite(true);
+ wildcardQuery.setRewriteMethod(MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE);
return wildcardQuery;
}
return q;
Modified: lucene/solr/trunk/src/java/org/apache/solr/update/SolrIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/update/SolrIndexWriter.java?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/update/SolrIndexWriter.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/update/SolrIndexWriter.java Fri Aug 7 03:21:06 2009
@@ -33,6 +33,7 @@
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
+import java.lang.reflect.InvocationTargetException;
import java.text.DateFormat;
import java.util.Date;
@@ -71,7 +72,10 @@
if (config.maxMergeDocs != -1) setMaxMergeDocs(config.maxMergeDocs);
if (config.maxFieldLength != -1) setMaxFieldLength(config.maxFieldLength);
if (config.mergePolicyClassName != null && SolrIndexConfig.DEFAULT_MERGE_POLICY_CLASSNAME.equals(config.mergePolicyClassName) == false) {
- MergePolicy policy = (MergePolicy) schema.getResourceLoader().newInstance(config.mergePolicyClassName);
+ MergePolicy policy = null;
+
+ policy = (MergePolicy) schema.getResourceLoader().newInstance(config.mergePolicyClassName, new String[]{}, new Class[]{IndexWriter.class}, new Object[] { this });
+
setMergePolicy(policy);///hmm, is this really the best way to get a newInstance?
}
if (config.mergeFactor != -1 && getMergePolicy() instanceof LogMergePolicy) {
Modified: lucene/solr/trunk/src/java/org/apache/solr/util/HighlightingUtils.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/util/HighlightingUtils.java?rev=801872&r1=801871&r2=801872&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/util/HighlightingUtils.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/util/HighlightingUtils.java Fri Aug 7 03:21:06 2009
@@ -92,7 +92,7 @@
* @deprecated use DefaultSolrHighlighter
* @see DefaultSolrHighlighter
*/
- public static QueryScorer getQueryScorer(Query query, String fieldName, SolrQueryRequest request) {
+ public static QueryTermScorer getQueryScorer(Query query, String fieldName, SolrQueryRequest request) {
return HIGHLIGHTER.getQueryScorerX(query, fieldName, request);
}
@@ -145,7 +145,7 @@
Highlighter getHighlighterX(Query query, String fieldName, SolrQueryRequest request) {
return getHighlighter(query, fieldName, request);
}
- QueryScorer getQueryScorerX(Query query, String fieldName, SolrQueryRequest request) {
+ QueryTermScorer getQueryScorerX(Query query, String fieldName, SolrQueryRequest request) {
return getQueryScorer(query, fieldName, request);
}
int getMaxSnippetsX(String fieldName, SolrQueryRequest request) {