Hi Neo4j users,

I am confused with LuceneFulltextQueryIndexService.

For integer,

IndexService index = new LuceneFulltextQueryIndexServic
e( neo );
index.index( myNode1, "someKey", 1 );
index.index( myNode2, "someKey", 2 );
index.index( myNode3, "someKey", 12 );
index.index( myNode4, "someKey", 21 );

// This will return myNode1, myNode2 and myNode3, not myNode4, why?
index.getNodes( "someKey", "[1 TO 2]" );

If I really want  1 <= x <= 2,  I need use the padding pattern. Is there any
other ways to do this work?

For string,
myNode1 "somekey" --> "a"
myNode2 "somekey" --> "b"
myNode3 "somekey" --> "aa"

IndexService index = new LuceneFulltextQueryIndexService( neo );
index.index( myNode1, "someKey", "a" );
index.index( myNode2, "someKey", "ba" );
index.index( myNode3, "someKey", "ad" );

// This will return myNode1
index.getNodes( "someKey", "a" );

// This will return myNode1, myNode3
index.getNodes( "someKey", "a*" );

//Wrong (Lucene does not support "*a*"
index.getNodes( "someKey", "*a*" );

How can I search substring "*a*"?

And what the mechanism difference of Lucene indexing between integer and
string, if it can be explained here in short sentences?

Appreciate your help,

Zerony
_______________________________________________
Neo mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to