elastich search strange behaviour, looking for prefix of whole phrase but got prefix for every word

I my index lets say I have field field named "full_name". I'm doing following query:


And it return values that fits exactly, for example:

"full_name" : "abrakadabra"

But also I receive things like this:

"full_name" : "kad abra"

Wildacrd "ab*" fits word "abra" and therefore I have "full_name" : "kad abra" . How can I avoid it, and search only for first word prefix?


Standard analyzer, which is applied by default to strings, generates a term for each word. So, "kad abra" is indexed as two terms "kad" and "abra", and your query finds the second term. If you want to search full_name always as a phrase, you should index it with custom analyzer with keyword tokenizer and lowercase filter. Alternatively, you can just index this field as not_analyzed if case is meaningful in your terms.

Need Your Help

I need to make table a little bit interactive

jquery html twitter-bootstrap

Here I found this on Jsfiddle, and it works on Jsfiddle, but when I try it to make in simple html doesnt work anything, except pure html table

Can someone explain why the following DQL works?

orm doctrine

$user = Doctrine_Core::getTable('User')