Как повысить количество предложений по количеству документов с помощью Nest Elasticsearch? - PullRequest
0 голосов
/ 05 января 2019

У меня есть product index и у меня есть следующие свойства:

public class ProductType
{
    public Guid Id { get; set; }

    public string Title { get; set; }

    public string Description{ get; set; }

    public IList<string> ProductAttributes { get; set; }

    public CompletionField Suggest { get; set; }
}

и при индексации нового продукта я делаю следующее:

productType.Suggest= new CompletionField
        {
            Input =product.ProductAttributes.Select(x => x).ToList(),
            Weight = 10
        };

Как повысить предложения в зависимости от того, сколько раз этот атрибут встречается в индексе продукта (чем больше документ считает, что атрибут существует, тем выше повышенный)?

PS:

Вот запрос, который я использую для автозаполнения:

GET product/producttype/_search
{
  "suggest": {
    "attribute-suggestions": {
      "prefix": "c",
      "completion": {
        "field": "suggest"
      }
    }
  },
  "_source": {
    "includes": [
      "id",
      "title",
      "productAttributes"
    ]
  }
}

Edit:

Если у меня есть атрибут ЦП внутри 8 продуктов и атрибут Камера внутри 5 продуктов, я хочу, чтобы вышеупомянутый запрос увеличил ЦП над камерой.

...