Может быть, свойство from
является вашей проблемой?Посмотрите документацию From / Size .От 20 означает, что смещение от первого результата равно 20. Это означает, что вам нужно иметь как минимум 21 результат в целом, чтобы увидеть одну запись в вашем запросе.
Взгляните на пример.Сначала поставьте три записи:
PUT index/_doc/1
{
"cities": "59c95a090338d4fe4aea6af8",
"firstName": "Michael",
"lastName": "Jordan"
}
PUT index/_doc/2
{
"cities": "59c95a090338d4fe4aea6af8",
"firstName": "Tomasz",
"lastName": "Michalowicz"
}
PUT index/_doc/3
{
"cities": "59c95a090338d4fe4aea6af8",
"firstName": "Bartosz",
"lastName": "Michalski"
}
А затем выполните поиск по вашему запросу и для from
установите значение 3:
GET _search
{
"from": 3,
"query": {
"bool": {
"filter": {
"term": {
"cities": "59c95a090338d4fe4aea6af8"
}
},
"should": [
{
"wildcard": {
"firstName": "Mich*"
}
},
{
"wildcard": {
"lastName": "Mich*"
}
}
]
}
}
}
Ответ будет:
{
"took": 15,
"timed_out": false,
"_shards": {
"total": 10,
"successful": 10,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 3,
"max_score": 0,
"hits": []
}
}
Вы можете видеть, что нет видимых hits
, но total
равно 3.
Затем измените from
на 2 и повторите запрос:
GET _search
{
"from": 2,
"query": {
"bool": {
"filter": {
"term": {
"cities": "59c95a090338d4fe4aea6af8"
}
},
"should": [
{
"wildcard": {
"firstName": "Mich*"
}
},
{
"wildcard": {
"lastName": "Mich*"
}
}
]
}
}
}
Ответ:
{
"took": 13,
"timed_out": false,
"_shards": {
"total": 10,
"successful": 10,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 3,
"max_score": 0,
"hits": [
{
"_index": "twitter",
"_type": "_doc",
"_id": "3",
"_score": 0,
"_source": {
"cities": "59c95a090338d4fe4aea6af8",
"firstName": "Bartosz",
"lastName": "Michalski"
}
}
]
}
}
Затем измените from
на 0 и повторите запрос:
GET _search
{
"from": 0,
"query": {
"bool": {
"filter": {
"term": {
"cities": "59c95a090338d4fe4aea6af8"
}
},
"should": [
{
"wildcard": {
"firstName": "Mich*"
}
},
{
"wildcard": {
"lastName": "Mich*"
}
}
]
}
}
}
Ответ:
{
"took": 8,
"timed_out": false,
"_shards": {
"total": 10,
"successful": 10,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 3,
"max_score": 0,
"hits": [
{
"_index": "twitter",
"_type": "_doc",
"_id": "2",
"_score": 0,
"_source": {
"cities": "59c95a090338d4fe4aea6af8",
"firstName": "Tomasz",
"lastName": "Michalowicz"
}
},
{
"_index": "twitter",
"_type": "_doc",
"_id": "1",
"_score": 0,
"_source": {
"cities": "59c95a090338d4fe4aea6af8",
"firstName": "Michael",
"lastName": "Jordan"
}
},
{
"_index": "twitter",
"_type": "_doc",
"_id": "3",
"_score": 0,
"_source": {
"cities": "59c95a090338d4fe4aea6af8",
"firstName": "Bartosz",
"lastName": "Michalski"
}
}
]
}
}