java – 如何在.net上运行Lucene?

前端之家收集整理的这篇文章主要介绍了java – 如何在.net上运行Lucene?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Lucene是一个很好的搜索引擎,但是.NET版本是官方 Java版本(最新的稳定的.NET版本是2.0,但最新的Java Lucene版本是2.4,它具有更多的功能).

你如何解决这个问题?

解决方法

我发现一种方法,这是惊奇的可以工作:从Java .jar文件创建一个.NET DLL!使用 IKVM可以通过 download Lucene获取.jar文件,并运行:
ikvmc -target:library <path-to-lucene.jar>

生成一个.NET DLL,如下所示:lucene-core-2.4.0.dll

然后你可以从你的项目中引用这个DLL,你很好去!您将需要一些java类型,所以也参考IKVM.OpenJDK.ClassLibrary.dll.你的代码可能看起来像这样:

QueryParser parser = new QueryParser("field1",analyzer);
java.util.Map boosts = new java.util.HashMap();
boosts.put("field1",new java.lang.Float(1.0));
boosts.put("field2",new java.lang.Float(10.0));

MultiFieldQueryParser multiParser = new MultiFieldQueryParser
                      (new string[] { "field1","field2" },analyzer,boosts);
multiParser.setDefaultOperator(QueryParser.Operator.OR);

Query query = multiParser.parse("ABC");
Hits hits = isearcher.search(query);

我从来不知道你可以轻松地将Java与.NET的互操作性.最好的一点是C#和Java是“几乎”源代码兼容的(Lucene的例子).只需用Console.Writeln替换System.Out :).

=======

更新:当建立像Lucene荧光笔的库时,请确保引用核心程序集(否则会收到关于缺少类的警告).所以荧光笔是这样建造的:

ikvmc -target:library lucene-Highlighter-2.4.0.jar -r:lucene-core-2.4.0.dll

猜你在找的Java相关文章