ElasticSearch Nest 2.x Выделите вложенный объект с помощью _all Search

Я не могу выделить вложенные объекты при использовании поиска _all.

Мой индекс:

{
   "settings":{
      "analysis":{
         "analyzer":{
            "nGramAnalyzer":{
               "type":"custom",
               "filter":[
                  "lowercase",
                  "asciifolding",
                  "NGramFilter"
               ],
               "tokenizer":"WhitespaceTokenizer"
            },
            "WhitespaceAnalyzer":{
               "type":"custom",
               "filter":[
                  "lowercase",
                  "asciifolding"
               ],
               "tokenizer":"WhitespaceTokenizer"
            },
         },
         "filter":{
            "NGramFilter":{
               "type":"ngram",
               "min_gram":1,
               "max_gram":20
            }
         },
         "tokenizer":{
            "WhitespaceTokenizer":{
               "type":"whitespace"
            }
         }
      }
   },
   "mappings":{
      "CustomerSearchResult":{
         "_all":{
            "analyzer":"nGramAnalyzer",
            "search_analyzer":"WhitespaceAnalyzer"
         },
         "properties":{
            "customerId":{
               "type":"string",
               "index":"not_analyzed"
            },
            "remarks":{
               "type":"nested",
               "properties":{
                  "remarkId":{
                     "type":"integer"
                  },
                  "customerId":{
                     "type":"integer"
                  },
                  "remarkText":{
                     "type":"string",
                     "index":"analyzed",
                     "analyzer":"nGramAnalyzer",
                     "search_analyzer":"WhitespaceAnalyzer"
                  }
               }
            },
         }
      }
   }
}

Мой запрос:

{
   "from":0,
   "size":100,
   "highlight":{
      "pre_tags":[
         "<b>"
      ],
      "post_tags":[
         "<b>"
      ],
      "fields":{
         "remarks.remarkText":{

         }
      }
   },
   "_source":{
      "exclude":[
         "remarks"
      ]
   },
   "query":{
      "match":{
         "_all":{
            "query":"test",
            "operator":"and"
         }
      }
   }
}

Если я делаю запрос с использованием вложенного запроса, я получаю блики, но мне нужно искать _all. Я пытался установить include в parent, include в root, но это не имело значения.

Я исключаю замечания, потому что не хочу их возвращать, только их основные моменты. Я пробовал запрос без исключения, а также.

Мне нужны только блики для вложенного объекта.

1 ответ

Решение

Мне пришлось использовать RequireFieldMatch(false) на выделении.

Другие вопросы по тегам