我正在处理一个ElasticSearch查询。在fields选项中,我们指定了'*',这意味着它应该在所有字段中查找,并为少数字段赋予更高的权重。但它并没有正常工作。这个查询是我的同事编写的,如果你能解释一下并指出解决方案,那就太好了。下面是我的查询:
{
"query": {
"bool": {
"must": [
{
"simple_query_string": {
"query": "Atoms for Peace",
"default_operator": "AND",
"flags": "PREFIX|PHRASE|NOT|AND|OR|FUZZY|WHITESPACE",
"fields": [
"*",
"systemNumber^5",
"global_search",
"objectType^2",
"partTypes.text",
"partTypes.id",
"gs_am_people^2",
"gs_am_person^2",
"gs_am_org^2",
"gs_title^2",
"_currentLocation.displayName",
"briefDescription",
"physicalDescription",
"summaryDescription",
"_flatPersonsNameId",
"_flatPeoplesNameId",
"_flatOrganisationsNameId",
"_primaryDate",
"_primaryDateEarliest",
"_primaryDateLatest"
]
}
}
]
}
}
1条答案
按热度按时间wbrvyc0a1#
您的查询是正确的,但它将无法在具有“嵌套”数据类型的字段上工作。
从doc开始
在所有符合条件的字段中搜索不包括嵌套文档。请使用嵌套查询来搜索这些文档。
您需要使用nested query