jpountz commented on code in PR #14364:
URL: https://github.com/apache/lucene/pull/14364#discussion_r1999714466
##########
lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestSuggestField.java:
##########
@@ -951,7 +951,16 @@ static IndexWriterConfig iwcWithSuggestField(Analyzer
analyzer, final Set<String
new FilterCodec(TestUtil.getDefaultCodec().getName(),
TestUtil.getDefaultCodec()) {
final CompletionPostingsFormat.FSTLoadMode fstLoadMode =
RandomPicks.randomFrom(random(),
CompletionPostingsFormat.FSTLoadMode.values());
- final PostingsFormat postingsFormat = new
Completion101PostingsFormat(fstLoadMode);
+ // FST load mode can only be overridden via a custom completion
postings format
+ final PostingsFormat postingsFormat =
+ new CompletionPostingsFormat("Completion101", fstLoadMode) {
+ final CompletionPostingsFormat delegate = new
Completion101PostingsFormat();
+
+ @Override
+ protected PostingsFormat delegatePostingsFormat() {
+ return delegate.delegatePostingsFormat();
+ }
+ };
Review Comment:
FWIW this may work accidentally on NRT segments if IndexWriter opens them
with the codec configured on the IndexWriterConfig, but it you were to open an
index from a Directory using this postings format, it would open it using the
default FST load mode and ignore the one passed to the constructor here. This
is because, Lucene would read "Completion101" from the segment infos and look
it up through SPI, which would return the default format that is registered
under this name rather than this instance that you are creating here.
I wonder if we should remove FSTLoadMode completely. To your point, it's
trappy to think that this thing is actually configurable?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]