Elasticsearch Multiple-query/search With Python
I'm new to Python and Elasticsearch and I have created an index with some data in Elasticsearch and I want to perform a query on them with Python based on some filters that are rec
Solution 1:
Adding a working example with index data, search query, and search result
According to your comments mentioned above, if the content field does not contain keyword, and if the category field contains category, then search query will execute for category field. This can be achieved by using minimum_should_match
Index Data:
{
"content": "keyword a",
"title": "b",
"lead": "c",
"category": "d"
}
{
"content": "a",
"title": "b",
"lead": "c",
"category": "category"
}
{
"content": "keyword a",
"title": "b",
"lead": "c",
"category": "category"
}
Search Query:
{"query":{"bool":{"should":[{"multi_match":{"query":"keyword","fields":["content","title","lead"]}},{"multi_match":{"query":"category","fields":["category"]}}],"minimum_should_match":1}}}Search Result:
"hits": [
{
"_index": "stof_64081587",
"_type": "_doc",
"_id": "3",
"_score": 0.9666445,
"_source": {
"content": "keyword a",
"title": "b",
"lead": "c",
"category": "category"
}
},
{
"_index": "stof_64081587",
"_type": "_doc",
"_id": "2",
"_score": 0.60996956,
"_source": {
"content": "keyword a",
"title": "b",
"lead": "c",
"category": "d"
}
},
{
"_index": "stof_64081587",
"_type": "_doc",
"_id": "1",
"_score": 0.35667494,
"_source": {
"content": "a",
"title": "b",
"lead": "c",
"category": "category"
}
}
]
Post a Comment for "Elasticsearch Multiple-query/search With Python"