- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Lucene 4.3 为英文推文编制索引,但是我不确定要使用哪个分析器。 Lucene StandardAnalyzer 和 EnglishAnalyzer 有什么区别?
我还尝试使用以下文本测试 StandardAnalyzer:“XY&Z Corporation - xyz@example.com”。输出是:[xy] [z] [corporation] [xyz] [example.com],但我认为输出将是:[XY&Z] [Corporation] [xyz@example.com]
难道我做错了什么?
最佳答案
看一下源码。通常,分析器的可读性很强。您只需要查看 CreateComponents
查看正在使用的 Tokenizer 和过滤器的方法:
@Override
protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
final Tokenizer source = new StandardTokenizer(matchVersion, reader);
TokenStream result = new StandardFilter(matchVersion, source);
// prior to this we get the classic behavior, standardfilter does it for us.
if (matchVersion.onOrAfter(Version.LUCENE_31))
result = new EnglishPossessiveFilter(matchVersion, result);
result = new LowerCaseFilter(matchVersion, result);
result = new StopFilter(matchVersion, result, stopwords);
if(!stemExclusionSet.isEmpty())
result = new KeywordMarkerFilter(result, stemExclusionSet);
result = new PorterStemFilter(result);
return new TokenStreamComponents(source, result);
}
StandardAnalyzer
只是一个
StandardTokenizer
,
StandardFilter
,
LowercaseFilter
, 和
StopFilter
.
EnglishAnalyzer
卷入
EnglishPossesiveFilter
,
KeywordMarkerFilter
, 和
PorterStemFilter
.
关于lucene - Lucene StandardAnalyzer 和 EnglishAnalyzer 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17011854/
我对 Lucene 还很陌生,目前正在使用 Lucene 8.2.0 索引文件集合,并在 Eclipse IDE 中编写代码。 我确实在我的 Eclipse 项目中包含了 lucene-core-8.
我正在使用 Lucene 4.3 为英文推文编制索引,但是我不确定要使用哪个分析器。 Lucene StandardAnalyzer 和 EnglishAnalyzer 有什么区别? 我还尝试使用以下
我正在使用 Lucene 索引科学文章。我正在使用以下配置: EnglishAnalyzer analyzer = new EnglishAnalyzer(Version.LUCENE_43, Eng
我是一名优秀的程序员,十分优秀!