我有一个相当“复杂”的elasticsearch文档,该文档的路径中存在空格。有什么方法可以使查询工作而无需重新索引? :)
"_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”],但这也不起作用。
理想情况下,我不想重新索引,因为该集合确实很大。