У меня есть модель данных, относящаяся к модели категории. Таким образом, эта модель данных ассоциируется с столбцом category_id
. Мой запрос обрабатывается ES, но он не возвращает никаких результатов.Ассоциации запросов Elasticsearch, не возвращая результатов
Я сфотографировал запись, взял ее category_id
и передал в category_id
запрос ниже. Я ожидал хотя бы одного результата, потому что он тот же category_id
. Тем не менее, я получаю 0 результатов.
{
query: {
filtered: {
query: {
bool: {must: []},
},
filter: {
bool: {
must: {
term: {category_id: #CATEGORY_ID PASSED IN HERE}
}
}
}
}
},
sort: [{
_geo_distance: {
store_location: {:lat=>0, :lon=>0},
order: "asc",
unit: "miles"
}
}]
}
Это мое текущее сопоставление. Здесь есть свойства, которые могут быть неактуальными, потому что это из большого проекта.
"test-somethings": {
"mappings": {
"something": {
"dynamic": "false",
"properties": {
"bpid": {
"type": "string"
},
"category_id": {
"type": "integer"
},
"id": {
"type": "integer"
},
"listings": {
"type": "nested",
"include_in_parent": true,
"properties": {
"store_id": {
"type": "string"
}
}
},
"name": {
"type": "string"
},
"store_id": {
"type": "integer"
},
"store_location": {
"type": "geo_point"
}
}
}
}
}
Некоторые данные я тестирую с:
[{
"id":1,
"bpid":"84202e8fc0",
"name":"Something",
"description":"Labore et odit quas sit similique. Molestiae deserunt rem harum assumenda voluptate placeat est. Reiciendis iusto ea et. Nesciunt qui et ab porro vitae ut. Exercitationem et dolores ullam.",
"created_at":"2015-05-01T21:02:23.000Z",
"updated_at":"2015-05-01T21:02:23.000Z",
"category_id":1282
},
"id":2,
"bpid":"9719093ac5",
"name":"Test Something",
"description":"Dolores minima fugit sunt. Consequuntur aspernatur dolorem. Quasi dolorem natus occaecati eos culpa error. Voluptates dolores pariatur ab impedit minima cumque molestiae.",
"created_at":"2015-05-01T21:02:23.000Z",
"updated_at":"2015-05-01T21:02:23.000Z",
"category_id":1283
},
"id":3,
"bpid":"5026503fc5",
"name":"Pot",
"description":"Et facilis et voluptatem amet. Quidem qui molestiae quia voluptas voluptatum. Facilis aut illo dicta provident animi omnis. Et quia dicta omnis aliquam quas sequi. Nemo sed officia consequatur excepturi.",
"created_at":"2015-05-01T21:02:23.000Z",
"updated_at":"2015-05-01T21:02:23.000Z",
"category_id":1284
}]
Это еще 0 результатов. Каковы были причины этого? Все, что я вижу, это запрос содержит 'match_all' вместо' bool' и 'must'. В конце концов, эта часть все равно пуста. –
Да, я думал, что синтаксис ошибочен, но, видимо, нет. Я предполагаю, что все в порядке, если у вас есть пустой запрос bool, хотя он явно избыточен. Оказывается, ES рассматривает пустой «must» как «match_all» (https://github.com/elastic/elasticsearch/issues/7240). Итак, вы правы, это не проблема. Но вы не публиковали данные о карте или какие-либо данные, поэтому трудно сказать, какова ваша фактическая проблема. Оба вопроса работают для меня. –
Я добавил отображение и некоторые данные, которые я тестирую в вопросе. –