首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化MLT弹性搜索查询

优化MLT弹性搜索查询
EN

Stack Overflow用户
提问于 2016-01-29 17:01:38
回答 1查看 170关注 0票数 0

我想应用more like this查询,所以我使用这个(elasticsearch的python包装器):

代码语言:javascript
复制
{
    "query": {
        "more_like_this": {
            "fields": ["title", "content"],
            "docs": [
                {
                    "_index": "kavosh",
                    "_type": "articles",
                    "_id": str(news_id)
                }
            ]
        }
    },
    "size": 1,
}

但我有很多超时时间。所以我决定把mlt检查的范围缩小到一个星期。(有效吗?)例如,添加以下内容:

代码语言:javascript
复制
    {
        "range": {
            "publication_date": {
                "lte": now,
                "gte": now - 1week
            }
        }
    }

如何将此过滤器应用于MLT查询,您有什么建议来优化查询吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-29 17:23:05

您可以使用以下查询:

代码语言:javascript
复制
{
"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"
           }
        }
     }
  }
  }
}

希望能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35090031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档