我发现的一种使人惊讶的方法可行:从Java .jar文件创建.NET
DLL!使用IKVM,您可以下载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示例)。只需替换
System.Out为
Console.Writeln:)。
=======
更新:构建像Lucene荧光笔之类的库时,请确保您引用了核心程序集(否则您将收到有关缺少类的警告)。因此,荧光笔的构建方式如下:
ikvmc -target:library lucene-highlighter-2.4.0.jar -r:lucene-core-2.4.0.dll
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)