Я использую Elasticsearch с приложением Spring Boot.В этом приложении у меня есть индекс customer
, а клиент содержит поле secretKey.Этот секретный ключ представляет собой строку, составленную из цифр и букв, следующим образом FOOBAR-000
Моя цель состояла в том, чтобы выбрать по одному секретному ключу ровно одного клиента, поэтому я изменил сопоставления на НЕ анализировать эти поля, но, похоже, неРабота.Что я делаю не так?
Вот мое отображение
curl -X GET 'http://localhost:9200/customer/_mapping'
{
"customer": {
"mappings": {
"customer": {
"properties": {
"secretKey": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
, но после того, как я выполню запрос
curl -XGET "http:/localhost:9200/customer/_validate/query?explain" -d'
{
"query": {
"query_string": {
"query": "FOOBAR-3121"
}
}
}'
, я получаю следующее объяснение:
"explanations": [
{
"index": "customer",
"valid": true,
"explanation": "_all:foobar _all:3121"
},
]