当前位置: 首页 > 知识库问答 >
问题:

(from/size)在elasticsearch查询不返回预期的文档

唐炜
2023-03-14

因为当我在查询中使用(From/Size)html" target="_blank">函数时,它不会返回我希望返回的文档。例如,我在elasticsearch中有5个文档,序列中的所有文档,_id1,_id2,_id3,_id4,id 5。

文档ID 5有单词(汽车),在查询中,我说要从ID 4中获取单词(汽车)(“来自”: 4,“大小”: 1,)它不返回ID 5,它有单词(汽车),但在查询中我把存在于doc 5中的信息,所以我应该带doc 5,但是它没有,并且说它没有找到结果。如果我把查询从ID 0(from: 0, size: 1,)它找到ID 5。似乎elasticsearch与ID混淆了。你能告诉我身份证会怎么样吗?

下面来自ID 4的查询不返回ID 5,但如果我放置来自ID 0的查询,则返回ID 5

{
"from": 4, "size": 1,
"query": {
"multi_match": {
"query": "car",

   "type": "cross_fields",
   "fields": ["title", "description", "url"],
   "operator": "and"
}
}
}

共有3个答案

郤望
2023-03-14

如何总是返回“url_length”字段中值最低的文档?

因为我有它搜索("from": 1,"size": 1,)没有带来的记录(_id15)有("url_length"=2)带来的记录(_id14)有("url_length"=3)

苍温文
2023-03-14

在下面的查询中,我发送的结果的字段(pgrk)介于9和10之间,并且字段(url_长度)小于4,但是(_id15)的记录满足我的请求,但是如果我放置(“from”:0,“size”:1”,则只返回(_id15)的记录,如果我放置(“from”:1,“size”:1,)不返回记录(_id15)

{
    "from": 1,
    "size": 1,
    "sort": [
        {
            "pgrk": {
                "order": "desc"
            }
        },
        {
            "url_length": {
                "order": "asc"
            }
        }
    ],
    "query": {
        "bool": {
            "must": {
                "multi_match": {
                    "query": "netflix",
                    "type": "cross_fields",
                    "fields": [
                        "titulo",
                        "descricao",
                        "url"
                    ],
                    "operator": "and"
                }
            },
            "filter": [
                {
                    "range": {
                        "pgrk": {
                            "gte": 9,
                            "lte" : 10
                        }
                    }
                },
                {
                    "range": {
                        "url_length": {
                           "lt" : 4
                        }
                    }
                }
            ]
        }
    }
}

如果我输入(“from”:1,“size”:1,),它不会返回具有“url\u length=2”的记录(_id15),而是返回具有“url\u length=3”的_id14的文档,如下所示:

{
  "took": 0,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 2,
      "relation": "eq"
    },
    "max_score": null,
    "hits": [
      {
        "_index": "teste",
        "_type": "_doc",
        "_id": "14",
        "_score": null,
        "_source": {
          "url": "www.333.com",
          "titulo": "netflix netflix netflix netflix netflix netflix netflix netflix netflix netflix",
          "descricao": "tudo sobre netflix netflix netflix netflix netflix netflix",
          "pgrk": "10",
          "url_length": "3"
        },
        "sort": [
          10,
          3
        ]
      }
    ]
  }
}

如果我把("from": 0,"size": 1,)然后它返回具有"url_length=2"的记录(_id15)

{
  "took": 0,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 2,
      "relation": "eq"
    },
    "max_score": null,
    "hits": [
      {
        "_index": "teste",
        "_type": "_doc",
        "_id": "15",
        "_score": null,
        "_source": {
          "url": "www.netflix.yahoo.com",
          "titulo": "melhor filme",
          "descricao": "tudo sobre series",
          "pgrk": "10",
          "url_length": "2"
        },
        "sort": [
          10,
          2
        ]
      }
    ]
  }
}
陶瀚玥
2023-03-14

在应用查询筛选器后,将应用sizefrom

此外,您的“排序”文档标识不一定保证检索顺序,尤其是。当得分开始发挥作用时。

如果你分享你的文档

 类似资料:
  • 问题内容: 我想知道为什么搜索特定术语会返回索引的所有文档,而不返回包含所请求术语的文档。 这是索引以及我的设置方法:(使用elasticsearch头插件浏览器界面) 然后我添加了一些文档: 因此,现在触发“ plaat”搜索时,人们会希望搜索会返回包含“ plaatstaal”的文档。 但是为我节省了更多的搜索,elasticsearch会恢复所有文档的大小,无论其文本内容如何。我在这里想念什

  • 我有一个带有两个衰减函数(ES 2.4.4)的查询,我使用对查询项中的衰减函数得分求和。对于测试,我使用来防止任何其他分数(来自查询)影响我的分数(我想测试衰减函数)。 这些是我的衰减函数: 我的结果包括2篇不同日期的文章(2017-08-28,2009-05-08)具有相同的优先级(1000)和相同的分数!(13.122)怎么会这样?为什么没有获得更好的分数?所以我试图解释查询。 对于2017-

  • 我有以下命名查询; 当我执行代码时; 我没有得到Person类型的resultList,即使我已经明确指定了命名查询的参数。相反,我得到的类型是包含对象数组的向量。 如何使查询显式返回“Person”类型?

  • elasticsearch实例的一些背景: 一个节点,在一台机器上 特定索引由大小为1.23TB的26亿文档组成 索引被分成4个碎片。 堆大小设置为30 GB 服务器有256GB内存和40个内核。 Elasticsearch(版本1.4.3)是这个服务器上唯一运行的东西 我想返回所有具有特定名称的文档。属性名称已映射为: 我尝试过使用不同类型的搜索;过滤器、查询字符串、术语。结果都一样。当前查询如

  • 嗨,我是elasticsearch的新手,现在我索引了一个网站,我想用我的查询的单词获得文本摘录, 示例I索引 Lorem ipsum dolor sit amet,consectetur adipiscing Elit。Morbi nec odio在magna blandit porta quis a Nibh。整数sodales ex ut sagittis venenatis。Duis ef

  • 问题内容: 我正在使用Newtonsoft的Json.Net从以下json中选择节点: 以下C#代码段 产量: 现在,这很酷,我想做的是按客户端代码过滤,我认为 可以,但是我显然对语法不够了解。这将返回一个空列表: 并且单个令牌选择器返回null: 我在https://jsonpath.curiousconcept.com/上尝试了几种不同的配置,看来我的查询语法确实坏了。 使用Flow Comm