Una forma que encontré, que se sorprendió podría funcionar: Crear una DLL .NET desde un archivo Java .jar! Usando IKVM que pueda download Lucene, obtener el archivo .jar, y ejecute:
ikvmc -target:library <path-to-lucene.jar>
que genera un archivo DLL .NET así: Lucene-core-2.4.0.dll
continuación, puede simplemente hacer referencia a este ¡DLL de su proyecto y listo! Hay algunos tipos de Java que necesitará, así que también haga referencia a IKVM.OpenJDK.ClassLibrary.dll. Su código podría ser un poco como esto:
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);
nunca supe que podría tener Java para la interoperabilidad .NET tan fácilmente. La mejor parte es que C# y Java son "casi" compatibles con el código fuente (en lo que respecta a los ejemplos de Lucene). Simplemente reemplace System.Out
con Console.Writeln
:).
=======
Actualización: Cuando la construcción de bibliotecas como el marcador Lucene, asegúrese de que se hace referencia el conjunto de núcleo (de lo contrario obtendrá advertencias acerca de las clases que faltan). Por lo tanto, el marcador se construye así:
ikvmc -target:library lucene-highlighter-2.4.0.jar -r:lucene-core-2.4.0.dll
Alguien con más prestigio que yo debería editar la "lucencia" a lucene – friism
Acabo de arreglarlo :) – Kalid