You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ha...@apache.org on 2013/07/24 08:17:37 UTC
svn commit: r1506404 - in
/lucene/dev/branches/lucene3069/lucene/core/src/java/org/apache/lucene:
codecs/temp/TempFSTTermsReader.java util/fst/FST.java
Author: han
Date: Wed Jul 24 06:17:37 2013
New Revision: 1506404
URL: http://svn.apache.org/r1506404
Log:
fix missing flag in FST
Modified:
lucene/dev/branches/lucene3069/lucene/core/src/java/org/apache/lucene/codecs/temp/TempFSTTermsReader.java
lucene/dev/branches/lucene3069/lucene/core/src/java/org/apache/lucene/util/fst/FST.java
Modified: lucene/dev/branches/lucene3069/lucene/core/src/java/org/apache/lucene/codecs/temp/TempFSTTermsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3069/lucene/core/src/java/org/apache/lucene/codecs/temp/TempFSTTermsReader.java?rev=1506404&r1=1506403&r2=1506404&view=diff
==============================================================================
--- lucene/dev/branches/lucene3069/lucene/core/src/java/org/apache/lucene/codecs/temp/TempFSTTermsReader.java (original)
+++ lucene/dev/branches/lucene3069/lucene/core/src/java/org/apache/lucene/codecs/temp/TempFSTTermsReader.java Wed Jul 24 06:17:37 2013
@@ -548,6 +548,10 @@ public class TempFSTTermsReader extends
}
// nocommit: might be great if we can set flag BIT_LAST_ARC
+ // nocommit: actually we can use first arc as candidate...
+ // it always has NO_OUTPUT as output, and BIT_LAST_ARC set.
+ // but we'll have problem if later FST supports output sharing
+ // on first arc!
/** Virtual frame, never pop */
Frame loadVirtualFrame(Frame frame) throws IOException {
@@ -701,8 +705,6 @@ public class TempFSTTermsReader extends
while (!queue.isEmpty()) {
final FST.Arc<T> arc = queue.remove(0);
final long node = arc.target;
- // nocommit: hmm... for startArc, Arc.toString() is broken???
- // BIT_ARC_HAS_FINAL_OUTPUT never set
//System.out.println(arc);
if (FST.targetHasArcs(arc) && !seen.get((int) node)) {
seen.set((int) node);
Modified: lucene/dev/branches/lucene3069/lucene/core/src/java/org/apache/lucene/util/fst/FST.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3069/lucene/core/src/java/org/apache/lucene/util/fst/FST.java?rev=1506404&r1=1506403&r2=1506404&view=diff
==============================================================================
--- lucene/dev/branches/lucene3069/lucene/core/src/java/org/apache/lucene/util/fst/FST.java (original)
+++ lucene/dev/branches/lucene3069/lucene/core/src/java/org/apache/lucene/util/fst/FST.java Wed Jul 24 06:17:37 2013
@@ -796,6 +796,9 @@ public final class FST<T> {
if (emptyOutput != null) {
arc.flags = BIT_FINAL_ARC | BIT_LAST_ARC;
arc.nextFinalOutput = emptyOutput;
+ if (emptyOutput != NO_OUTPUT) {
+ arc.flags |= BIT_ARC_HAS_FINAL_OUTPUT;
+ }
} else {
arc.flags = BIT_LAST_ARC;
arc.nextFinalOutput = NO_OUTPUT;