Я вставил документ с полем raw_id
, равным 1.2.3.04ABC
, и я пытаюсь построить запрос регулярного выражения для поиска документа в ES. Я использую следующий запрос:Buggy Regexp Query in ElasticSearch
curl -X POST 'http://localhost:9200/hello/world/_search' -d '{
"query": {
"regexp": {
"raw_id": "1\\.2\\.3\\.04ABC"
}
}
}'
Это возвращает результат пустой результат
{
"took":1,
"timed_out":false,
"_shards": {
"total":5,
"successful":5,
"failed":0
},
"hits": {
"total":0,
"max_score":null,
"hits":[]
}
}
С другой стороны, когда я использую слегка измененный запрос
curl -X POST 'http://localhost:9200/hello/world/_search' -d '{
"query": {
"regexp": {
"raw_id": "1\\.2\\.3.*"
}
}
}'
Я получаю непустой:
{
"_shards": {
"failed": 0,
"successful": 5,
"total": 5
},
"hits": {
"hits": [
{
"_id": "adfafadfafa",
"_index": "hello",
"_score": 1.0,
"_source": {
"raw_id": "1.2.3.04ABC"
},
"_type": "world"
}
],
"max_score": 1.0,
"total": 1
},
"timed_out": false,
"took": 2
}
Может кто-то, пожалуйста, помогите мне понять, почему первый запрос не работает?
Не будет лгать, согласно документации, которые должны работать. Единственное, что я могу вспомнить, - это индексирование регулярных выражений, которое не используется для 'raw_id'. – brandonscript