2013-04-04 3 views
0

Говорят, что существует связь между 2 узлами, как показано нижеИндексация отношения в Neo4j с помощью Scala

start --> "follows" --> end 

Я хочу создать индекс с именем «отношения» и добавьте выше отношение к индексу. Как это сделать в Scala или Java?

Я пытался делать это так:

override def NodeIndexConfig = ("Relations", Some(Map("provider" -> "lucene", "type" -> "fulltext")))::NIL 
    val rel_name = group+"_Voteup" 
    val relation = user_node --> rel_name --> item_node 

    val Relation_Index = getNodeIndex("Relations").get 
    val rel_value = user_id+item_id+rel_name 
    Relation_Index += (relation,"rel_id",rel_value) 

Но, я получаю ошибку несоответствия типов.

+0

Посмотрите на [этот пример кода] (https://github.com/neo4j/neo4j/blob/master/community/embedded-examples/src/main/java/org/neo4j/examples/EmbeddedNeo4jWithIndexing.java). Я надеюсь, что это поможет –

+0

В этом примере он просто проиндексировал узлы. Но в моем случае необходимо индексировать отношения между узлами! – yAsH

ответ

1

Вы, вероятно, следует использовать индекс отношение вместо индекса узла, как

override def RelationIndexConfig = ("Relations", Some(Map("provider" -> "lucene", "type" -> "fulltext")))::Nil 
val rel_name = group+"_Voteup" 
val relation = user_node --> rel_name --> item_node 

val Relation_Index = getRelationIndex("Relations") 
val rel_value = user_id+item_id+rel_name 
Relation_Index.foreach(_ += (relation,"rel_id",rel_value)) 

Примечание: я удалил index.get вызов и использовал «безопасный» foreach вызов дополнительного значения.

+0

Изменено переопределение def NodeIndexConfig для переопределения def RelationIndexConfig, и он сработал. Спасибо :) – yAsH

+1

Вы правы, я пропустил это. Я верну ответ на правильный метод. –

Смежные вопросы