Elastic Search - запрос обратного соответствия

В настоящее время я написал запрос к эластичному серверу, чтобы удалить все документы со старым "BatchVersion". Подумав об этом, чтобы быть в безопасности, я хочу удалить все записи, которые не соответствуют текущему BatchVersion. Вот мой текущий код

            _client.DeleteByQuery<Data.ElasticSearch.Employee>(s => s
            .Index(indexName)
            .Size(1000)
            .Query(q => q.
                  Bool(b => b.
                      MustNot(mn => mn.
                            Match(m => m.Field("BatchVersion").
                                  Query([newVersionId]))))));

Когда код запускается, никакие записи не удаляются. Есть идеи?

1 ответ

Я должен был использовать Default_Field для его работы. Я использовал кибану, чтобы понять это.

            _client.DeleteByQuery<Employee>(s => s
            .Index(indexName)
            .Size(1000)
            .Query(q => q.
                Bool(b => b.
                    MustNot(mn => mn.
                        QueryString(qs => qs.DefaultField("batchVersion").Query(newVersionId.ToString()))))));
Другие вопросы по тегам