Node.js 如何在弹性搜索中写入条件
我想在弹性搜索中编写一个条件查询。这是我的完整查询,但它没有按预期工作 比如: 仅当票证类型为1时,我想执行搜索个人购买=1。Node.js 如何在弹性搜索中写入条件,node.js,
elasticsearch,Node.js,
elasticsearch,我想在弹性搜索中编写一个条件查询。这是我的完整查询,但它没有按预期工作 比如: 仅当票证类型为1时,我想执行搜索个人购买=1。 如何编写此查询?然后您可以执行以下操作: { "query": { "bool": { "minimum_should_match": 1, "should": [ { "bool": { "must": [ { "
如何编写此查询?然后您可以执行以下操作:
{
"query": {
"bool": {
"minimum_should_match": 1,
"should": [
{
"bool": {
"must": [
{
"match": {
"ticket_group.ticket_type": 1
}
},
{
"match": {
"ticket_group.individual_purchase": 1
}
}
]
}
},
{
"bool": {
"must_not": [
{
"match": {
"ticket_group.ticket_type": 1
}
}
]
}
}
]
}
}
}
上述查询转换为:
票证类型=1和个人购买=1
或票证类型!=1.
如果票证类型!=1?无需检查下一个条件..谢谢,但如果是这样,则应返回所有文档或根本不返回任何文档?然后将返回所有票据您的查询应与imo一样工作。如果不是这样,我建议创建一个包含完整映射的要点、一些示例文档、您测试的查询,并解释结果不正确的原因。到目前为止,使用您的查询,我还无法重现该问题。Val它仍然返回票证,票证类型为1,个人购买=1.
{
"query": {
"bool": {
"minimum_should_match": 1,
"should": [
{
"bool": {
"must": [
{
"match": {
"ticket_group.ticket_type": 1
}
},
{
"match": {
"ticket_group.individual_purchase": 1
}
}
]
}
},
{
"bool": {
"must_not": [
{
"match": {
"ticket_group.ticket_type": 1
}
}
]
}
}
]
}
}
}