小编Sai*_*Sai的帖子

More_like_this带有过滤器的查询

我有弹性搜索索引的1702个文档,其中类别为字段之一,并且还有一个名为SequentialId的字段.

我最初提取了类别1.1的文档,它们位于文档1和文档850之间,如下所示.

**POST testucb/docs/_search
{
    "size": 1702, 
    "query": {
        "bool": {
            "must": [
               {"match": {
                  "Category": "1.1"
               }}
            ],
            "filter":[
                {
                    "range":
                    {
                        "SequentialId":
                        {
                            "gte":1,
                            "lte":850

        }
    }
}
]
}
}
}**
Run Code Online (Sandbox Code Playgroud)

上面的查询给了我834个匹配类别1.1的文档.(我有二进制文件从结果JSON输出中解析出834个_ids.) 我现在的目标是将这些834 _ids提供给more_like这个查询作为剩余的训练集我的测试集的文档(顺序851到1702的文档是我的测试集)

我在下面用过滤器尝试了这个more_like_this查询.

POST /testucb/docs/_search
{

"size": 1702, 
    "fields": [
            "SequentialId",
            "Category",
            "PRIMARY_CONTENT_EN"
         ],
   "query": {
      "more_like_this": 
      {
         "fields": [
            "PRIMARY_CONTENT_EN"
         ],
        "like":[
           <-----------834 _ids goes here ---->
            ],
            **"filter":[
                {
                    "range":
                    {
                        "SequentialId":
                        {
                            "gte":851,
                            "lte":1702**

        }
    }
}
],
        "min_term_freq": 1,
        "min_doc_freq": 1, …
Run Code Online (Sandbox Code Playgroud)

elasticsearch elastic-map-reduce elasticsearch-plugin

6
推荐指数
1
解决办法
2451
查看次数