Showing results for 
Search instead for 
Did you mean: 

Different analyzers in index-time and query-time

Node Clone

I want to request a feature on full text search, and to do so let me first explain an example.

Assume that the query is "Javad" and we want to retrieve a document if it contains, e.g., "Javad" or "MohammadJavad" or "Javadi" or "SeyedJavad". But we do not want to retrieve a document if it only contains, e.g., "Java". This may be a reasonable expectation for search in a language like Persian. Or, for example, the query is "Jen" and we want to retrieve a document if it contains "Jennifer".

As far as I know, full-text search in Neo4j uses the same index on both the documents and the query. Thus, if we want to use n-grams with, e.g., n=4 (so that MohammadJavad is matched for Javad), also Java is matched for Javad because n-gram is also applied to the query term Javad. But if we could specify that we only want to apply the n-gram to the documents but not to the query, we could have achieved what we wanted.

So, I request adding this possibility to Neo4j. I guess that it's not very hard to do so, but it may help a lot, especially for some language like Persian or maybe Arabic.

A similar issue was formerly mentioned here , but it also wasn't solved. Considering the effort it requires to implement this feature and the benefit it may have for the users, I think that this feature is something worth considering by the Neo4j developers.