簡體   English   中英

優化MLT Elasticsearch查詢

[英]Optimize MLT elasticsearch query

我想應用more like this查詢的內容,因此我使用了以下代碼(用於Elasticsearch的python包裝器):

{
    "query": {
        "more_like_this": {
            "fields": ["title", "content"],
            "docs": [
                {
                    "_index": "kavosh",
                    "_type": "articles",
                    "_id": str(news_id)
                }
            ]
        }
    },
    "size": 1,
}

但是我有很多超時 所以我決定將mlt檢查的范圍減少到一周。 (是否有效?)例如添加以下內容:

    {
        "range": {
            "publication_date": {
                "lte": now,
                "gte": now - 1week
            }
        }
    }

如何將此過濾器應用於MLT查詢,您對優化查詢有何建議?

您可以使用以下查詢:

{
"query": {
  "filtered": {
     "query": {
        "more_like_this": {
           "fields": [
              "title",
              "content"
           ],
           "docs": [
              {
                 "_index": "kavosh",
                 "_type": "articles",
                 "_id": str(news_id)
              }
           ]
        }
     },
     "filter": {
        "range": {
           "publication_date": {
              "lte": "now",
              "gte": "now - 1week"
           }
        }
     }
  }
  }
}

希望能幫助到你。

暫無
暫無

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

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