MLT(更喜欢这个)elasticsearch查询

时间:2016-05-25 12:35:07

标签: elasticsearch

我正在尝试使用elasticsearch MLT(更喜欢这个)查询。

商店中只有一个文档:

{
        "_index": "monitors",
        "_type": "monitor",
        "_id": "AVTnvJ8SancUpEdFLMiq",
        "_score": 1,
        "_source": {
          "ProcessGroup": "test",
          "ProcessName": "test",
          "OpName": "test",
          "Domain": "test",
          "LogLevel": "Info",
          "StartDateTime": "2016-05-04 04:46:47",
          "EndDateTime": "2016-05-04 04:47:47",
          "MessageDateTime": "2016-05-04 04:46:47",
          "ApplicationCode": "test",
          "Status": "10",
        }
}

查询:

POST /_search
{
  "query": {
    "more_like_this" : {
        "fields" : ["ProcessName"],
        "like" : "test",
        "min_term_freq" : 1,
        "max_query_terms" : 12
    }
  }
}

ProcessName是未分析的字段。 我被期望得到这份文件作为答复,但我得到了nada:

{
  "took": 1,
  "timed_out": false,
  "_shards": {
    "total": 2,
    "successful": 2,
    "failed": 0
  },
  "hits": {
    "total": 0,
    "max_score": null,
    "hits": []
  }
}

为什么?

另一个问题:

假设我有搜索引擎文档,我搜索“stph”。我希望获得“Stephan Curry”的建议,因为它经常被搜索。模糊搜索不适合因为距离大于2,所以使用MLT查询对于这种情况来说是一个不错的选择吗?

0 个答案:

没有答案