mirror of https://github.com/apache/lucene.git
LUCENE-8093: Make TrimFilterFactory multi-term aware
This commit is contained in:
parent
d6d2e3b2e3
commit
8eb5c696e4
|
@ -76,6 +76,8 @@ Improvements
|
|||
configurable precision for non-spherical planet models.
|
||||
(Ignacio Vera via David Smiley)
|
||||
|
||||
* LUCENE-8093: TrimFilterFactory implements MultiTermAwareComponent (Alan Woodward)
|
||||
|
||||
======================= Lucene 7.2.0 =======================
|
||||
|
||||
API Changes
|
||||
|
|
|
@ -21,6 +21,8 @@ import java.util.Map;
|
|||
|
||||
import org.apache.lucene.analysis.TokenStream;
|
||||
import org.apache.lucene.analysis.miscellaneous.TrimFilter;
|
||||
import org.apache.lucene.analysis.util.AbstractAnalysisFactory;
|
||||
import org.apache.lucene.analysis.util.MultiTermAwareComponent;
|
||||
import org.apache.lucene.analysis.util.TokenFilterFactory;
|
||||
|
||||
/**
|
||||
|
@ -35,7 +37,7 @@ import org.apache.lucene.analysis.util.TokenFilterFactory;
|
|||
*
|
||||
* @see TrimFilter
|
||||
*/
|
||||
public class TrimFilterFactory extends TokenFilterFactory {
|
||||
public class TrimFilterFactory extends TokenFilterFactory implements MultiTermAwareComponent {
|
||||
|
||||
/** Creates a new TrimFilterFactory */
|
||||
public TrimFilterFactory(Map<String,String> args) {
|
||||
|
@ -47,7 +49,11 @@ public class TrimFilterFactory extends TokenFilterFactory {
|
|||
|
||||
@Override
|
||||
public TrimFilter create(TokenStream input) {
|
||||
final TrimFilter filter = new TrimFilter(input);
|
||||
return filter;
|
||||
return new TrimFilter(input);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AbstractAnalysisFactory getMultiTermComponent() {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,6 +21,11 @@ package org.apache.lucene.analysis.util;
|
|||
* analysis component factory for use with partial terms in prefix queries,
|
||||
* wildcard queries, range query endpoints, regex queries, etc.
|
||||
*
|
||||
* Components implementing this interface should not add or remove tokens from
|
||||
* the token stream, and should be able to deal with special characters
|
||||
* indicating that multi-term queries are required (eg slashes for regex, wildcard
|
||||
* characters, etc)
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public interface MultiTermAwareComponent {
|
||||
|
|
Loading…
Reference in New Issue