Хранение нескольких значений в одном свойстве Neo4j Lucene index - PullRequest
3 голосов
/ 16 ноября 2011

Я хочу сохранить несколько значений в одном свойстве индекса neo4j Lucene index, например,

IndexName: profile

property- Education: "Stanford University, Grad School", "Harvard University, MS"
property- Work: "Nokia Siemens Networks", "Motorola" 

Поиск также должен работать во всех случаях, например and, or.

* 1007.* Мы можем сделать это с помощью Solr, установив свойство как многозначный атрибут.Я не уверен насчет neo4j + Lucene.

1 Ответ

8 голосов
/ 17 ноября 2011

Вы можете добавить значения массива String [] к индексу (так же, как с узлами / отношениями), и он будет индексировать каждый элемент в массиве отдельно, и я думаю, что это решит вашу проблему.

  Index myIndex = graphDb.index().forNodes( "profile" );
  myIndex.add( myNode, "Education", new String[] {"Stanford University, Grad School", "Harvard University, MS"} );
  myIndex.add( myNode, "Work", new String[] {"Nokia Siemens Networks", "Motorola"} );
  // Query for it (remember the quote escaping)
  myIndex.query( "Education:\"Stanford University, Grad School\" AND Work:Motorola" );

Это должно сделать это.

...