我有一个相当“复杂”的弹性搜索文档,路径中存在空格。有什么方法可以让查询在没有重新索引的情况下工作?:)
"_source": {
"threads": {
"MANAGEMENT DISCUSSION SECTION": [],
"Q&A": [
{
"sentence_sentiment": [
{
"sentiment": {...}
}
],...
我当前的代码看起来像这样。
def query_nested(path='threads.Q&A', to_match=None, *args, **kwargs):
q_match = None
if to_match:
for match in to_match:
if q_match is None:
q_match = Q("match", **match)
else:
q_match &= Q("match", **match)
q = Q("nested", path=path,
query=q_match,
inner_hits={})
s = Search()[kwargs.get('start', 0):kwargs.get('end', 25)]
s = s.query(q)
s = s.source(include=["title"])
s = s.sort('-year', '-month', '-day')
return s.execute()
return None
但这当然会由于 .Q&A 导致不正确的查询。
我也尝试过使用线程[“Q&A”],但这也不起作用。
理想情况下,我不想重新索引,因为集合非常大。