如何使用Version方法'valueOf(String)'

时间:2011-04-08 15:48:19

标签: java search lucene

想知道是否有人可以告诉我如何为版本使用Apache Lucene方法'valueOf(String)'?这用于返回应该从枚举中使用的当前版本吗?

http://lucene.apache.org/java/3_1_0/api/core/org/apache/lucene/util/Version.html#valueOf(java.lang.String

例如,确实:

Version.valueOf("StandardAnalyzer");

返回应该与StandardAnalyzer一起使用的emum版本?

谢谢!

3 个答案:

答案 0 :(得分:0)

为每个方法定义了此valueOf方法,只需将"LUCENE_24"之类的字符串转换为相应的枚举常量LUCENE_24

答案 1 :(得分:0)

我认为你需要这种方式:探测它

for(Version v : Version.valueOf("StandardAnalyzer")) System.out.println(v);

答案 2 :(得分:0)

我认为枚举是为了让您安全地选择您想要使用的版本。如果你从头开始,我想你应该选择最新版本,但是否则你应该愿意选择从一个版本升级到另一个版本。 他们弃用了LUCENE_CURRENT常量,这样在选择新版本的库时就不会无声地“更新”。

所以基本上我会将Version.LUCENE_31作为新项目的配置传递。枚举也可用于将两个版本与onOrAfter方法进行比较。

仍然回答你的问题,我认为(但现在无法测试)如果由于某种原因你想使用valueOf方法,你必须传递一个带有版本名称的字符串。例如Version.valueOf(“LUCENE_23”)。当然,如果您的版本名称来自配置文件,这将非常有用。

希望有所帮助