Sorry Micheal for not replying, I missed this one!

See comments below:


Il giorno giovedì 28 agosto 2014 23:59:20 UTC+2, Michael Hunger ha scritto:
>
> Don't rely on specific lucene functionality esp. the fancy one. 
> Most of this is only accessible in the java API.
> http://docs.neo4j.org/chunked/milestone/indexing-create-advanced.html
> http://docs.neo4j.org/chunked/milestone/indexing-lucene-extras.html
>
> Fulltext analyzers are lowercase by default.
>
> Why do you have an array of properties?
>

I thought about an array of properties for this problem:
I have nodes which can called as multiple names: think about multilanguage.

I though a data structure to deal with that may be constructing an array 
for calling that name
e.g.
[Italy, Italia, Italie] are properties for the single 'Booted' Country :D

I wanna perform fulltext search on those name, to start my query with that 
node 
I thoight about an array of properties.

Is it a good choice?


*I've read your article*
*http://nigelsmall.com/neo4j/index-confusion* 
<http://nigelsmall.com/neo4j/index-confusion>

thank you for posting it, I actually had same confusion.

So here a major question:

*how can perform a speed query to find out the first node with fulltext, if 
I have no labels?*

As example, I wanna construct a webapp with one input field where to input 
a name, and I wanna find a node containing that substring.
I have millions of entities, and I want a generic query to identify my 
nodes to start my query.

So far, with 4M nodes, it takes a serious while (up to ~1 minute if I have 
to find paths between two nodes)
I am using legacy indexes and auto_indexes enabled in server.proporeties, 
and I *CAN'T* have labels: I don't want to classify those names in 
onthologies, cause I cannot know what kind of node will be searched by the 
user.

How to speed time up?

I expect to have larger db in the future, tens of million.
 


 

>
> Am 22.08.2014 um 18:06 schrieb gg4u <[email protected] <javascript:>>:
>
> Hi,
>
> I am testing the fulltext search.
> It is not clear for me:
> - syntax
> - which lucene functionality are implemented
> - if it is possible to apply index to an array of properties for each node 
> (fulltext Vs  exact?)
>
> e.g.
> 1.
> I want to search for all names containing the letters 'tiram'
> I could have cases like:
> a. 'Tiramisu' 
> b. 'aaaatiramisu'
> c. 'aaaatiramisubbbb'
> d. 'aaaa tiramisu'
>
>
> with a clause:
> where node.name =~ '.*tiram*.' 
> I won't get the first option a. 
>
> This won't use an index but just apply a regexp on a full property scan.
> You have to add an ignore case flag upfront 
>
> where node.name =~ '(?i).*tiram*.' 
>
>
> How to get all names containing a substring or starting or fininshing with 
> a substring?
>
>
>
>
>
> 2. Following tutorial
> http://www.lucenetutorial.com/lucene-query-syntax.html
> It looks like boost and other properties are not supported:
> where node.name =~ '.*tiram*.' ~5
>
>
> As said before this is just regexps, FTS with the legacy lucene index is 
> completely separate, see:
>
> http://jexp.de/blog/2014/03/full-text-indexing-fts-in-neo4j-2-0/
> http://nigelsmall.com/neo4j/index-confusion
>
> where is possible to study a complete examples list with syntax for cypher 
> queries with lucence?
>
> 3. since lucene tokenize text,
> does it make sense to apply indexes to a an array of properties (a list of 
> strings)
> VS indexing a whole text field property ?
>
> e.g. what is difference between indexing:
> [word1, word2, word3] Vs "My text is composed by word1, word2, word3" ?
>
>
> I think the second option would be better for FTS.
>
>
> thank you!
>
>
>
>
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to