当前位置:  开发笔记 > 编程语言 > 正文

你如何在.net上运行Lucene?

如何解决《你如何在.net上运行Lucene?》经验,为你挑选了1个好方法。

Lucene是一个优秀的搜索引擎,但.NET版本是官方Java版本的背后(最新的稳定.NET版本是2.0,但最新的Java Lucene版本是2.4,它具有更多功能).

你怎么解决这个问题?



1> Kalid..:

我发现的一种惊讶方法可能是:从Java .jar文件创建一个.NET DLL!使用IKVM,您可以下载Lucene,获取.jar文件,然后运行:

ikvmc -target:library 

生成这样的.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.OutConsole.Writeln:).

=======

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

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

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有