Fix API report requests when using opensearch
Change-Id: I68a5297ab71c616856230000f1718ff72d25883d
This commit is contained in:
parent
8def21cb9c
commit
03d508b746
@ -98,14 +98,15 @@ class OpenSearchClient(object):
|
||||
sources = []
|
||||
for elem in groupby:
|
||||
if elem == 'type':
|
||||
sources.append({'type': {'terms': {'field': 'type'}}})
|
||||
sources.append({'type': {'terms': {'field': 'type.keyword'}}})
|
||||
elif elem == 'time':
|
||||
# Not doing a date_histogram aggregation because we don't know
|
||||
# the period
|
||||
sources.append({'begin': {'terms': {'field': 'start'}}})
|
||||
sources.append({'end': {'terms': {'field': 'end'}}})
|
||||
else:
|
||||
sources.append({elem: {'terms': {'field': 'groupby.' + elem}}})
|
||||
field = 'groupby.' + elem + '.keyword'
|
||||
sources.append({elem: {'terms': {'field': field}}})
|
||||
|
||||
return {"sources": sources}
|
||||
|
||||
|
@ -86,9 +86,9 @@ class TestOpenSearchClient(unittest.TestCase):
|
||||
self.assertEqual(
|
||||
self.client._build_composite(['one', 'type', 'two']),
|
||||
{'sources': [
|
||||
{'one': {'terms': {'field': 'groupby.one'}}},
|
||||
{'type': {'terms': {'field': 'type'}}},
|
||||
{'two': {'terms': {'field': 'groupby.two'}}},
|
||||
{'one': {'terms': {'field': 'groupby.one.keyword'}}},
|
||||
{'type': {'terms': {'field': 'type.keyword'}}},
|
||||
{'two': {'terms': {'field': 'groupby.two.keyword'}}},
|
||||
]},
|
||||
)
|
||||
|
||||
|
@ -0,0 +1,6 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
Fix some API report requests that were returning HTTP 500 errors when using
|
||||
the ``opensearch`` storage backend. This fixes failures to load the Horizon
|
||||
``Rating`` panel.
|
Loading…
Reference in New Issue
Block a user