#django #elasticsearch #kibana #elasticsearch-dsl #elasticsearch-query
#django #elasticsearch #кибана #elasticsearch-dsl #elasticsearch-запрос
Вопрос:
Я ищу соответствующий запрос elasticsearch для,
SELECT col1,col2 FROM myTable WHERE col1="value1" AND col2 = "value2"
например:
Это мое отображение,
{
"mapping": {
"doc": {
"properties": {
"book": {
"properties": {
"name": {
"type": "text"
},
"price": {
"type": "integer"
},
"booktype": {
"properties": {
"booktype": {
"type": "text"
}
}
}
}
}
}
}
}
}
Я пытаюсь написать запрос, который выдаст мне price
и name
который имеет booktype=Fiction
Ответ №1:
Попробуйте это:
GET myTable/_search
{
"size": 1000,
"_source": [
"price",
"name"
],
"query": {
"bool": {
"must": [
{
"match": {
"booktype.booktype": "Fiction"
}
}
]
}
}
}
Примечание: возможно, вам потребуется адаптировать «размер» в соответствии с вашими потребностями.
Комментарии:
1. Не работает с foreignkey, в моем случае col1 равен index.columns.col1 « _source»: { «index»: { «columns»: { «col1»: «Product Manager» }, «open_positions»: 2 } ` `
2. Что вы подразумеваете под «foreignkey»?
3. Этот запрос работает хорошо, если я беру столбец, в котором есть inter, float и т.д. (Кроме String). Но сбой со строкой даже после того, как соответствующее поле доступно для поиска и агрегирования
4. Обновите свой вопрос образцом документа, которому вы хотите соответствовать, и вашим сопоставлением индексов
5. Я обновил свой ответ. Вам нужно выполнить вложенный запрос, поскольку
tag
он вложенный.