Term query fails with special characters.
Input:
--header 'Content-Type: application/json' \
-d '{
"id": "6a974e5c18b7408db76dfc11212f6d9d",
"authId": "9900732910",
"offeringId": "976db9ef-d3b4-4f45-bfb5-38817661e594",
"serviceId": "PMSG",
"subject": "This is message",
"message": "This is message",
"category": "unreadMessage",
"statusCode": "UNREAD",
"media": "INAPP_ICE",
"statusMessage": "SUCCESS",
"notificationHeaderId": "eed6874b-532e-4ed7-80f1-b2b36a929718",
"expireAt": "2020-07-06",
"createdAt": "2020-07-06",
"updatedAt": "2020-07-06",
"createdBy": "9059977894068481",
"updatedBy": "9059977894068481",
"customAttributes": {
"sto-group": "sto_control_1.0.0",
"sourceServiceName": "PMSG",
"subject": "This is message",
"topic": "oinp-ttl.Turbo Tax Live.unreadMessage"
}
}'
Query :
--header 'Content-Type: application/json' \
-d '
{
"query" : {
"bool":{
"must":[
{
"term":{
"authId":{
"value":"9900732910",
"boost":1.0
}
}
},
{
"term":{
"statusCode":{
"value":"unread",
"boost":1.0
}
}
},
{
"term":{
"customAttributes.sourceServiceName":{
"value":"pmsg",
"boost":1.0
}
}
},
{
"term":{
"customAttributes.topic":{
"value":"oinp-ttl.Turbo Tax Live.unreadMessage",
"boost":1.0
}
}
}
],
"adjust_pure_negative":true,
"boost":1.0
}
}
}'
customAttributes.sourceServiceName- success because i converted the value to lower chars.
customAttributes.topic doesnot work however.
I checked few articles and tried to set not_analyzed - But that works only for type=String- I have Map and its a key-value pair.. I am AWS Elastic- 7.1 version. Somewhere it said after version 6, we dont have to ser "not_analyzed" and keyword search should happen. but I dint find any good examples for that.