0

我有一个相当“复杂”的弹性搜索文档,路径中存在空格。有什么方法可以让查询在没有重新索引的情况下工作?:)

"_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”],但这也不起作用。

理想情况下,我不想重新索引,因为集合非常大。

4

0 回答 0