2015-06-05 3 views
0

Я пытаюсь использовать Lucene FrenchAnalyzer с Neo4j:Использование FrenchAnalyzer с Neo4j

final GraphDatabaseService graphDatabaseService = new GraphDatabaseFactory().newEmbeddedDatabase("..."); 
final IndexManager index = graphDatabaseService.index(); 
final Index<Node> frenchIndex = index.forNodes("Entry", stringMap(IndexManager.PROVIDER, "lucene", "type", "fulltext", "to_lower_case", "true", "analyzer","org.apache.lucene.analysis.fr.FrenchAnalyzer")); 

, но это бросает java.lang.NoSuchMethodException: org.apache.lucene.analysis.fr.FrenchAnalyzer.<init>()

Я предполагаю, что я использую неправильную версию зависимости - есть ли какие-либо опыт использования Neo4J с Lucene по-французски?

Мои зависимости заключаются в следующем:

  • org.neo4j: Neo4j-ядро: 2.2.2
  • org.neo4j: Neo4j-Lucene-индекс: 2.2.2
  • org.apache. Lucene: Lucene-анализаторы: 3.6.2 (основано на том факте, что Neo4j использует Lucene 3.6.2)

(Я новичок в Neo4j и Lucene - Я просто делаю ДОУ на данный момент)

ответ

2

В классах анализатора, специфичных для языка Lucene, отсутствует конструктор noarg. Neo4j, тем не менее, ожидает их.

Некоторое время назад я написал сообщение в блоге об этом в сочетании с небольшим проектом github, который имеет обертки для всех анализаторов lucene, см. http://blog.armbruster-it.de/2014/10/deep-dive-on-fulltext-indexing-with-neo4j/.