Actually, change it to "index": "not_analyzed" as shown in the JSON.
On Wednesday, October 29, 2014 5:13:46 PM UTC-7, Mike Maddox wrote: > > Actually, there are two problems here. Change the analyzer to the name of > your custom analyzer and you are missing a curly brace to close out the > "settings" property. Not sure why it doesn't cause an error but it > definitely doesn't create a mapping. You can check if there is a mapping by > looking at: http://localhost:9200/myindex/_mapping > > Here is how it should be: > > > { > "settings": { > "analysis": { > "analyzer": { > "my_analyzer": { > "type": "custom", > "tokenizer": "keyword", > "lowercase": true > } > } > } > }, > "mappings": { > "episode": { > "_source": { > "enabled": false > }, > "properties": { > "color": { > "type": "string", > "index": "not_analyzed" > } > } > } > } > } > > On Wednesday, October 29, 2014 2:38:36 PM UTC-7, Jarrod C wrote: >> >> Hello, I am trying to run a query that distinguishes between spaces in >> values. Let's say I have a field called 'color' in my index. Record 1 has >> "color" : "metallic red" whereas Record 2 has "color": "metallic" >> >> I want to search for 'metallic' but NOT retrieve 'metallic red', and a >> search for 'metallic red' should not return 'red'. >> >> The query below works for 'metallic red' but entering 'red' returns both >> records. The query also appears to be bypassing Analyzers specified in the >> mappings (such as keyword) as they have no affect. What should I change it >> to instead? >> >> //Query >> GET /myindex/_search >> { >> "query": { >> "match_phrase": { >> "color": "metallic red" >> } >> } >> } >> >> //Data >> { "index" : { "_index" : "myindex", "_type" : "car", "_id" : "1" } } >> { "color" : "metallic red" } >> { "index" : { "_index" : "myindex", "_type" : "car", "_id" : "2" } } >> { "color" : "Metallic RED"} >> { "index" : { "_index" : "myindex", "_type" : "car", "_id" : "3" } } >> { "color" : "rEd" } >> >> //Mapping (no effect for query) >> curl -XPUT 'http://localhost:9200/myindex/' -d '{ >> "settings" : { >> "analysis": { >> "analyzer": { >> "my_analyzer":{ >> "type": "custom", >> "tokenizer" : "keyword", >> "lowercase" : true >> } >> } >> }, >> "mappings" : { >> "episode" : { >> "_source" : { "enabled" : false }, >> "properties" : { >> "color" : { "type" : "string", "analyzer" : >> "not_analyzed" } >> } >> } >> } >> } >> }' >> >> >> Thanks! >> > -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/220d0be3-c86d-4473-b957-b90b35d3da80%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
