سؤال

لوسين هو محرك بحث ممتاز، ولكن النسخة NET هو وراء إطلاق سراح جافا الرسمي (أحدث إصدار. NET مستقر هو 2.0، ولكن أحدث نسخة جافا لوسين 2.4، الذي لديه المزيد من الميزات).

وكيف تحصل حول هذا؟

هل كانت مفيدة؟

المحلول

وطريقة واحدة وجدت، التي فوجئت يمكن أن تعمل: إنشاء DLL .NET من جافا جرة ملف! باستخدام IKVM فيمكنك تحميل لوسين ، والحصول على ملف بامتداد وتشغيل:

ikvmc -target:library <path-to-lucene.jar>

والذي يولد دلل. NET مثل هذا: لوسين النواة 2.4.0.dll

وبعد ذلك يمكنك فقط الرجوع إلى هذه DLL من المشروع، وكنت على ما يرام! هناك بعض أنواع جافا سوف تحتاج، لذلك أيضا مرجع 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);

لم أكن أعرف هل يمكن أن يكون جافا لالتوافقية .NET بحيث بسهولة. أفضل جزء هو أن C # و Java هي "تقريبا" شفرة المصدر متوافق (عندما يتعلق الأمر أمثلة لوسين). مجرد استبدال System.Out مع Console.Writeln:)

=======

تحديث: عند بناء المكتبات مثل تمييز لوسين، تأكد من الرجوع إلى الجمعية الأساسية (آخر ستحصل تحذيرات حول فئات مفقود). ذلك هو مبني على تمييز مثل هذا:

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

نصائح أخرى

وحمل المصدر وبنائه. فعلت ذلك في نهاية الأسبوع الماضي فقط، وكان من السهل. لا مشكلة على الإطلاق. المصدر هو في النسخة 2.3.1.

وأنا اشتركت في القائمة البريدية وانطلاقا من ذلك، يجري تطويرها Lucene.Net بنشاط.

وLucene.net هو قيد التطوير ولديها الآن ثلاثة مقترفوا

وI تحويل لوسين 2.4 من جرة إلى DLL من خلال هذه الطريقة ولكن الآن يعطيني خطأ "نوع أو مساحة لوسين لا يمكن العثور على '. أزلت دلل القديم من المشروع، وأضاف مرجعية لواحدة جديدة. اريد حقا ان التخلص من النسخة القديمة حيث استغرق حوالي 2 أيام، وفي النهاية خلال تحسين أنه أعطى بعض الخطأ والآن مؤشر غير قابلة للتحديث: S. قرأت في مكان ما أن السرعة لوسين 2.4 الفهرسة عدة مرات أسرع من الإصدارات القديمة، إذا كنت تستخدم 2.3.1 من SVN سوف أن يكون أسرع أيضا؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top