GET /_search
{
"query": {
"terms": {
"user.id": [ "kimchy", "elkbee-test" ],
}
}
}
Result will only include kimchy, because I guess the dash is interpretet as a bool operator. How to fix this?
GET /_search
{
"query": {
"terms": {
"user.id": [ "kimchy", "elkbee-test" ],
}
}
}
Result will only include kimchy, because I guess the dash is interpretet as a bool operator. How to fix this?
Hi @Emporea Welcome to the community.
That should work... it works for me, I do notice you have an extra ,
at the end of you user.id
line
Here is my example
DELETE discuss-test
PUT discuss-test/
{
"mappings": {
"properties": {
"name": {
"type": "keyword"
}
}
}
}
POST discuss-test/_doc
{
"name" : "kimchy"
}
POST discuss-test/_doc
{
"name" : "stephen-test"
}
POST discuss-test/_doc
{
"name" : "john-test"
}
GET discuss-test/_search
{
"query": {
"terms": {
"name": [
"kimchy",
"stephen-test"
]
}
}
}
and the results
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 2,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : "discuss-test",
"_type" : "_doc",
"_id" : "F9Cpq34Bliuj9UVF3cyX",
"_score" : 1.0,
"_source" : {
"name" : "kimchy"
}
},
{
"_index" : "discuss-test",
"_type" : "_doc",
"_id" : "GNCpq34Bliuj9UVF3cyp",
"_score" : 1.0,
"_source" : {
"name" : "stephen-test"
}
}
]
}
}
Its not working for me. Hmm.
Edit:
Its working.
I know what I did wrong.. I didn't address the keyword field. Your answer / mappings made me realize tho!. Thanks!
=> field.keyword
What version of Elasticsearch are you on?
If you run my code above what is the result? can you show me?
Do you have smart quotes on or something?
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
© 2020. All Rights Reserved - Elasticsearch
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant logo are trademarks of the Apache Software Foundation in the United States and/or other countries.