试图消除与建议者相关的“找不到映射”错误

时间:2019-01-29 15:37:56

标签: elasticsearch

我正在搜索具有不同字段的两个索引“ calmapi”和“ calmpersons”。当我尝试为仅存在于“ calmapi”中的字段找回建议时,我停止获取“ calmpersons”的结果:十分之五的分片失败,并出现错误“找不到字段[Repository]的映射”-其中“ Repository”是仅在“ calmapi”索引中存在的字段。但是我仍然可以从“ calmapi”索引中获得预期结果,包括建议。

如果我仅在“ calmapi”中搜索,那么它会很好地工作,如果我在没有建议者的情况下搜索两个索引,那也将非常好,但是如果同时包含两个索引和建议者,则会出现错误并丢失来自“冷静者”的结果

我已经尝试在建议者的各个部分中包括“ _index”:“ calmapi”,“ ignore_unmapped”:“ true”和“ unmapped_type”:“ string”,希望说服它不要抱怨,但我会尽一切努力'提出的想法完全杀死了查询,根本不返回任何结果,并且出现了“ [建议]不支持[ignore_unmapped]”的错误。

我也尝试过移动提示器,但是无论放在哪里,都会出现“格式错误的查询”错误。

这是针对搜索词“ tree”生成的无效查询。

{
    "query":{
        "bool":{
            "should":[
                {
                    "bool":{
                        "must":{
                            "multi_match":{
                                "type":"phrase",
                                "query":"tree",
                                "fields":[
                                    "Level",
                                    "Repository",
                                    "RefNo^3",
                                    "PreviousNumbers",
                                    "Title^2",
                                    "UserText1",
                                    "CONTENT",
                                    "Description"
                                ]
                            }
                        },
                        "filter":{
                            "bool":{
                                "must":[
                                    {
                                        "term":{
                                            "CatalogueStatus":"Catalogued"
                                        }
                                    },
                                    {
                                        "term":{
                                            "_index":"calmapi"
                                        }
                                    }
                                ],
                                "must_not":[
                                    {
                                        "term":{
                                            "AccessStatus":"Closed"
                                        }
                                    }
                                ]
                            }
                        }
                    }
                },
                {
                    "bool":{
                        "must":{
                            "multi_match":{
                                "type":"phrase",
                                "query":"tree",
                                "fields":[
                                    "Code",
                                    "PersonName",
                                    "CorporateName",
                                    "NonPreferredTerm",
                                    "Places",
                                    "Activity",
                                    "Nationality"
                                ]
                            }
                        },
                        "filter":{
                            "bool":{
                                "must":[
                                    {
                                        "term":{
                                            "_index":"calmpersons"
                                        }
                                    }
                                ]
                            }
                        }
                    }
                }
            ]
        }
    },
    "size":"2",
    "from":0,
    "aggs":{
        "Level|Level.keyword":{
            "terms":{
                "field":"Level.keyword"
            }
        },
        "Subject|Term.keyword":{
            "terms":{
                "field":"Term.keyword"
            }
        },
        "Linked name|RelatedNameCode.keyword":{
            "terms":{
                "field":"RelatedNameCode.keyword"
            }
        }
    },
    "highlight":{
        "fields":{
            "Level":{},
            "Repository":{},
            "RefNo":{},
            "PreviousNumbers":{},
            "Title":{},
            "UserText1":{},
            "CONTENT":{},
            "Description":{}
        }
    },
    "suggest":{
        "suggest_Level":{
            "text":"tree",
            "term":{
                "field":"Level",
                "suggest_mode":"popular"
            }
        },
        "suggest_Repository":{
            "text":"tree",
            "term":{
                "field":"Repository",
                "suggest_mode":"popular"
            }
        },
        "suggest_RefNo":{
            "text":"tree",
            "term":{
                "field":"RefNo",
                "suggest_mode":"popular"
            }
        },
        "suggest_PreviousNumbers":{
            "text":"tree",
            "term":{
                "field":"PreviousNumbers",
                "suggest_mode":"popular"
            }
        },
        "suggest_Title":{
            "text":"tree",
            "term":{
                "field":"Title",
                "suggest_mode":"popular"
            }
        },
        "suggest_UserText1":{
            "text":"tree",
            "term":{
                "field":"UserText1",
                "suggest_mode":"popular"
            }
        },
        "suggest_CONTENT":{
            "text":"tree",
            "term":{
                "field":"CONTENT",
                "suggest_mode":"popular"
            }
        },
        "suggest_Description":{
            "text":"tree",
            "term":{
                "field":"Description",
                "suggest_mode":"popular"
            }
        }
    }
}

我正在尝试一种获取两个索引结果的方法,并且仍然可以获取建议。

任何帮助都感激不尽!谢谢。

0 个答案:

没有答案