如何使用Nest Elasticsearch通过文档计数来增加建议?

时间:2019-01-05 13:57:28

标签: elasticsearch nest autosuggest

我有产品索引,并且具有以下属性:

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"
    ]
  }
}

编辑:

如果我在8个产品中具有属性 Cpu ,在5个产品中具有属性 Camera ,则我希望上述查询能使Cpu优于Camera。

0 个答案:

没有答案