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

elasticsearchsimple_query_string字段不同类型

赫连瀚
2023-03-14

我工作与elasticsearch和我wnat做这种类型的查询{"查询":{"simple_query_string":{"字段":["字段1","字段2","字段3","字段4"],"查询":"200 100假消息"}}}和我有字段1,字段2类型int和字段3 bolean和字段4字符串问题是elasticsearch将始终返回解析错误,因为他会尝试比较rxample字段3与100任何工作解决方案

共有3个答案

孙宏壮
2023-03-14

添加索引数据、映射、搜索查询和搜索结果的工作示例

索引映射:

{
  "mappings": {
    "properties": {
      "field1": {
        "type": "integer"
      },
      "field2": {
        "type": "integer"
      },
      "field3": {
        "type": "boolean"
      },
      "field4": {
        "type": "text"
      }
    }
  }
}

索引数据:

{
  "field1": 200,
  "field2": 100,
  "field3": "false",
  "field4": "message"
}

搜索查询:

{
  "query": {
    "simple_query_string": {
      "fields": [
        "field1",
        "field2",
        "field3",
        "field4"
      ],
      "query": "200 100 false message",
      "lenient": true
    }
  }
}

搜索结果:

"hits": [
      {
        "_index": "66986084",
        "_type": "_doc",
        "_id": "1",
        "_score": 2.575364,
        "_source": {
          "field1": 200,
          "field2": 100,
          "field3": "false",
          "field4": "message"
        }
      }
    ]
公孙阳文
2023-03-14

哪个字段匹配结果是否重要?如果不是,您可以使用copy_to功能将所有文本复制到单个文本字段,并在该文本字段上搜索!像这样:

PUT stackoverflow
{
  "mappings": {
    "properties": {
      "field1": {
        "type": "integer",
        "copy_to": "all_fields"
      },
      "field2": {
        "type": "integer",
        "copy_to": "all_fields"
      },
      "field3": {
        "type": "text",
        "copy_to": "all_fields"
      },
      "field4": {
        "type": "text",
        "copy_to": "all_fields"
      },
      "all_fields": {
        "type": "text"
      }
    }
  }
}

和查询:

GET stackoverflow/_search
{
  "query": {
    "simple_query_string": {
      "fields": [
        "field_all"
      ],
      "query": "200 100 false message"
    }
  }
}
牛骞仕
2023-03-14

根据Elasticsearch文档,您可以添加一个

 类似资料:
  • 我正在尝试使用elasticsearch搜索产品。例如,如果产品是汽车,它将有一些字段,如“颜色”,“品牌”,“型号”,“公里”,……如果它是衣服,它将只有“颜色”,“尺寸”,……我想在弹性索引所有这些信息,以便能够搜索公里在aaa公里和bbb公里之间的汽车,和/或xxxx型号,相同的衣服或任何其他产品。 如何在elasticsearch中创建这样的字段?我希望所有的产品在相同的索引,这样用户可以

  • 问题内容: 我今天在另一个问题中提出了这个问题,但是 由于措辞的方式,恐怕无法解决任何问题。 我有一个json输入,其中包含以下数据: 杰森 如您所见,option_value项是一个对象中的Array和 另一个对象中的简单字符串。 我怎样才能让Gson正确处理呢?我的类将此描述为 List对象,因此它适用于option_value是 数组的前几个项目,但是当它成为字符串时,应用程序崩溃,并且我收

  • 问题内容: 我有两个对象,每个对象都有数十个字段: 尽管某些字段的名称不同,但是它们应该具有相同的含义和目的,例如和。我想比较两个类的对象的“相似”字段实际上是否具有相同的值。最优雅的方法是什么? 问题答案: 如果有两个类的字段具有相似的含义,则可以考虑声明一个。 并且具有默认实现: 有被覆盖的风险-确保它永远不会发生。

  • 注意1:如果您有相同类型的字段(或相同的擦除),最好用匹配的字段命名所有@mock注释字段,否则Mockito可能会混淆,不会发生注入。 这是否意味着如果我有几个具有相同类型的字段,我不能只模拟其中一个字段,而是应该为所有具有相同类型的字段定义?这是已知的限制吗?有什么原因为什么它还没有被修复?通过字段名称匹配应该很简单,不是吗?

  • 本文档包含了Django提供的全部模型字段的字段选项 和 字段类型的API参考。 请看: 如果内建的字段不能满足你的需要,你可以尝试包含对特定国家和文化有帮助的配套代码的 django-localflavor。当然,你也可以很容易的编写你自定义的字段。 注意 严格意义上来讲, Model 是定义在django.db.models.fields里面,但为了使用方便,它们被导入到 django.db.

  • 我有两个名为Site和AppSite的对象,两个对象都有如下相同的字段。是否有任何util类将所有字段从AppSite复制到站点,如BeanUtils。copyProperties。 如果你看到上面的两个pojo,我有两个对象字段列表。两个对象也一样,只有Site和AmsSite对象。有相同的字段名,但不同的类名。 BeanUtils.copy属性是将所有文字字段值从AppSite正确复制到Sit