Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lucene StandardAnalyzer 3.5类型属性_Lucene_Analyzer - Fatal编程技术网

Lucene StandardAnalyzer 3.5类型属性

Lucene StandardAnalyzer 3.5类型属性,lucene,analyzer,Lucene,Analyzer,我最近注意到Lucene StandardAnalyzer的行为在3.1版之后有所改变。具体来说,3.0和以前的版本将电子邮件、IP地址、公司名称等识别为单独的词汇类型,而以后的版本则不识别 例如,对于输入文本:“example@mail.com127.0.0.1 H&M“,3.0分析仪将识别以下类型: 1:example@mail.com:0->16: 2:127.0.0.1:17->26: 3:h&m:27->30: 但是,版本3.1和更高版本为相同的输入文本提供以下输出: 1:示例:0->

我最近注意到Lucene StandardAnalyzer的行为在3.1版之后有所改变。具体来说,3.0和以前的版本将电子邮件、IP地址、公司名称等识别为单独的词汇类型,而以后的版本则不识别

例如,对于输入文本:“example@mail.com127.0.0.1 H&M“,3.0分析仪将识别以下类型:

1:example@mail.com:0->16:

2:127.0.0.1:17->26:

3:h&m:27->30:

但是,版本3.1和更高版本为相同的输入文本提供以下输出:

1:示例:0->7:

2:mail.com:8->16:

3:127.0.0.1:17->26:


我的问题是,如何在更新版本的Lucene库中实现旧的StandardAnalyzer行为?是否有一些标准的令牌过滤器可以帮助我实现这一点,或者我需要实现自定义过滤器?

请参阅javadocs for StandardAnalyzer:从3.1开始,StandardTokenizer实现Unicode文本分段。。。。ClassicTokenizer和ClassCanalyzer是StandardTokenizer和StandardAnalyzer的3.1版本之前的实现

或者,您可以将LUCENE_30版本传递给StandardAnalyzer,也可以获得之前的行为。这就是这些版本常量的目的,以便现有用户的行为保持一致,并且您可以决定何时将应用升级到已更改的行为