gpt4 book ai didi

java - 你如何在 .net 上运行 Lucene?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:07:02 26 4
gpt4 key购买 nike

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 示例)。只需将 System.Out 替换为 Console.Writeln :).

=======

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

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

关于java - 你如何在 .net 上运行 Lucene?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/252249/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com