簡體   English   中英

如何在使用Nest的Elasticsearch中實現過濾器?

[英]how to implement filters in elasticsearch using nest?

假設我搜索了相同的產品后得到了一些產品列表,現在我想根據顏色,尺寸等屬性對它們進行過濾。

如何編寫嵌套查詢?

這是我的搜索查詢:

   var result = client.Search<document>(s => s
                    .Analyzer("automplete").From(0).Size(20)
                    .Query(p => p
                        .MultiMatch(m => m
                            .OnFields(new[] { svalue })
                            .Query(value).Type(TextQueryType.PhrasePrefix)))
                            .Highlight(m => m.OnFields(n => n.OnField("some_field"))));

希望您一切都好,我認為您正在尋找嵌套的objets。 Elasticsearch為此有一個特殊的查詢是NestedQuery

`

GET /my_index/blogpost/_search
{
  "query": {
    "bool": {
      "must": [
        { "match": { "title": "eggs" }}, 
        {
          "nested": {
            "path": "comments", 
            "query": {
              "bool": {
                "must": [ 
                  { "match": { "comments.name": "john" }},
                  { "match": { "comments.age":  28     }}
                ]
        }}}}
      ]
}}}

`

在這種情況下,要訪問嵌套對象,您需要添加product.color作為標准。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM