Соответствие запроса Elasticsearch в массиве

#c# #elasticsearch #nest

#c# #elasticsearch #гнездо

Вопрос:

 id: 1,
name: "Jean Pantalon",
title: null,
subtitle: null,
description: null,
tags: null,
seoUrl: null,
clickCounter: 0,
model: null,
sku: null,
ean: null,
displayPrice: 0,
price: 0,
isActive: true,
isDeleted: false,
productPhotos: null,
productCategories: [
  {
    id: 1,
    productId: 1,
    categoryId: 2,
    category: {
       id: 2,
       name: "Spor",
       topCategoryId: 0,
       subCategories: null
       }
    },
 ]
  

Всем привет, у elasticseaarch есть такой результат в формате json, я хочу отфильтровать его, например, название в категории ProductCategories te категории Sports, как я могу написать этот запрос

Я использую библиотеку c # ta nest

Комментарии:

1. Ничего общего с C.

2. Можете ли вы добавить дополнительную информацию о том, как индекс представлен в C #?

Ответ №1:

Я не знаю, как это сделать в вашей библиотеке, но в elasticsearch:

Категории продуктов должны быть сопоставлены с «вложенным» типом данных. Тогда вы сможете создать запрос, подобный этому:

 GET /my-index/_search
{
  "query": {
    "nested": {
      "path": "productCategories",
      "query": {
        "bool": {
          "must": [
            { "match": { "productCategories.category.name": "sport" } }
          ]
        }
      }
    }
  }
}