elasticsearch 查询字符串查询-两个字段必须匹配
我正在使用ElasticSearch 5.1,我想知道是否有可能构建查询字符串查询,它将匹配所有字段elasticsearch 查询字符串查询-两个字段必须匹配,elasticsearch,lucene,elasticsearch,Lucene,我正在使用ElasticSearch 5.1,我想知道是否有可能构建查询字符串查询,它将匹配所有字段field_1和field_2相同的记录 在执行查询时,我不知道它们存储了什么值。我所知道的只是映射,它是关键字 例如,数据: {"id": 1, "field_1": "foo", "field_2": "foo"} {"id": 2, "field_1": "foo", "field_2": "bar"} 当我执行这样的查询时,我只想得到id为1的记录,因为field\u 1===field
field_1
和field_2
相同的记录
在执行查询时,我不知道它们存储了什么值。我所知道的只是映射,它是关键字
例如,数据:
{"id": 1, "field_1": "foo", "field_2": "foo"}
{"id": 2, "field_1": "foo", "field_2": "bar"}
当我执行这样的查询时,我只想得到id为1的记录,因为field\u 1
===field\u 2
谢谢 如果您可以使用除
查询字符串
之外的其他查询,那么脚本查询
呢
从
如果您可以使用除
查询字符串
之外的其他查询,那么脚本查询
呢
从
是否可以为另一个包含信息的布尔字段编制索引(即,如果字段匹配则为true,否则为false)?或者你有太多的字段组合要检查吗?我只需要检查2个字段,但这需要经常更新。看起来是个解决办法。谢谢。当您更新一个或另一个字段时,您还可以更新布尔标志。如果没有这一点,您将不得不求助于使用性能差得多的脚本查询。请检查是否可以为另一个包含信息的布尔字段编制索引(即,如果字段匹配则为true,否则为false)?或者你有太多的字段组合要检查吗?我只需要检查2个字段,但这需要经常更新。看起来是个解决办法。谢谢。当您更新一个或另一个字段时,您还可以更新布尔标志。否则,您将不得不求助于使用性能和优化程度都要低得多的脚本查询。请检查
GET /_search
{
"query": {
"bool" : {
"must" : {
"script" : {
"script" : {
"inline": "doc['field_1'].value == doc['field_2'].value"
}
}
}
}
}
}