Lucene是一个出色的搜索引擎,但是.NET版本落后于Java官方发行版(最新的稳定的.NET版本是2.0,但是最新的Java
Lucene版本是2.4,具有更多功能)。
您如何解决这个问题?
我发现的一种使人惊讶的方法可行:从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
问题内容: 我从https://github.com/jaliss/securesocial/tree/master下载了securesocial- master.zip 1,解压后更改目录 2.运行激活器 错误消息: 问题答案: 根据您输入的信息: 光盘到 C:\ Users \ ddd \ play \ securesocial-master 2.从根目录运行激活器 C:\ Users \ d
问题内容: 我知道我曾经知道如何执行此操作,但是…在UNIX上登录时如何运行脚本(bash正常)? 问题答案: 来自维基百科 当Bash启动时,它将以各种不同的脚本执行命令。 当Bash作为交互式登录Shell调用时,它首先从文件/ etc / profile中读取并执行命令(如果该文件存在)。读取该文件后,它将按该顺序查找〜/ .bash_profile,〜/ .bash_login和〜/ .p
问题内容: 运行Airflow的常规说明不适用于Windows环境: Airflow实用程序在命令行中不可用,我在其他地方找不到要手动添加的实用程序。Airflow如何在Windows上运行? 问题答案: 您可以在Windows中激活,并直接按照本教程进行操作。我能够按照上面的步骤启动并成功运行。 安装完成后,请进行编辑以将所有配置指向Windows系统中的某个位置,而不是lxss(ubuntu)
我已经在Ubuntu 14.04上安装了tensorflow的GPU版本。 我在一个GPU服务器上,在那里Tenorflow可以访问可用的GPU。 我想在CPU上运行tenorflow。 通常我可以使用env CUDA\u VISIBLE\u DEVICES=0在0号GPU上运行。 如何在CPU之间进行选择? 我对用tf重写代码不感兴趣。设备(“/cpu:0”):
刚开始玩jdk9 - 并且有点卡在一开始: < li >下载并解压缩了eclipse-Java-neon-m4a-win32 < li >已安装java 9支持(通过市场中的免打扰) < li >下载并安装了jdk9u99(只有jdk,没有公共jre) 此时,我可以在默认的Java(8u 60)上运行eclipse,既可以使用JRE/JDK(eclipse . ini中的/out vm参数),也可
我正在使用docker compose和气流图像puckel/docker气流设置一个新的气流服务器运行良好,但当我尝试使用DockerOperator时,没有名为“docker”的模块。 我需要如何更改我的docker-compose文件才能在我的docker中使用docker? 我试图在谷歌上查找错误消息,但没有一个建议的解决方案奏效。 这是我正在使用的< code>WebServer的doc