Герцог - org.apache.lucene.analysis.standard.StandardAnalyzer
https://github.com/larsga/Duke - я использую Duke - для дедупликации данных.
Я установил Duke (файлы jar - jar Duke, а также lucene jar добавлены в путь к классам)..
Пример примера в github - https://github.com/larsga/Duke/wiki/SemanticDogfood
When I tried running this :
soundaryat@IMCHLT132:~/Duke$ java no.priv.garshol.duke.Duke --testfile=doc/example-data/dogfood-test.txt --testdebug --showmatches doc/example-data/dogfood.xml
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.lucene.analysis.standard.StandardAnalyzer.<init>(Lorg/apache/lucene/util/Version;)V
at no.priv.garshol.duke.databases.LuceneDatabase.<init>(LuceneDatabase.java:77)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at no.priv.garshol.duke.ConfigLoader.instantiate(ConfigLoader.java:292)
at no.priv.garshol.duke.ConfigLoader.access$100(ConfigLoader.java:31)
at no.priv.garshol.duke.ConfigLoader$ConfigHandler.startElement(ConfigLoader.java:199)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:380)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2787)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:118)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1140)
at no.priv.garshol.duke.ConfigLoader.load(ConfigLoader.java:49)
at no.priv.garshol.duke.Duke.main_(Duke.java:64)
at no.priv.garshol.duke.Duke.main(Duke.java:35)
тогда как другой пример в том же github работает - https://github.com/larsga/Duke/wiki/LinkingCountries
может кто-нибудь помочь,.. заранее спасибо..
3 ответа
У меня была та же проблема, и, покинув Google, я обнаружил, что Duke не совместим с последними версиями Lucene. Вы используете Lucene 5.X? Если это так, вы должны загрузить более старые версии Lucene jar (4.0.0) и включить их в classpath. Это сработало для меня!
Существует проблема с конкретным примером из репозитория github.
В файле https://github.com/larsga/Duke/wiki/SemanticDogfood отсутствует файл конфигурации из файла конфигурации. (я узнал из конфигурационного файла) .. есть некоторые файлы зависимостей, пропущенные для конкретного примера. Так решено.:)
Спасибо за твой ответ и Энри.
Включите эти файлы JAR в путь к классу:
lucene-core-4.0.0.jar
lucene-analyzers-common-4.2.0.jar
lucene-6.3.0.jar
duke-1.2.jar:
.
$CLASSPATH