我在我的ElasticSearch v1.2.1中有一些文档,例如:
“sku”可以是诸如
我可以使用以下 ElasticSearch 查询来实现这个功能:
我收到了sku:
然而,破折号“-”真的让我很困惑。
当我改变正则表达式为:
我无法得到任何结果。我也尝试过:
{
"tempSkipAfterSave": "false",
"variation": null,
"images": null,
"name": "Dolce & Gabbana Short Sleeve Coat",
"sku": "MD01575254-40-WHITE",
"user_id": "123foo",
"creation_date": null,
"changed": 1
}
“sku”可以是诸如
MD01575254-40-BlUE
、MD01575254-38-WHITE
之类的变量。我可以使用以下 ElasticSearch 查询来实现这个功能:
{
"size": 1000,
"from": 0,
"filter": {
"and": [
{
"regexp": {
"sku": "md01575254.*"
}
},
{
"term": {
"user_id": "123foo"
}
},
{
"missing": {
"field": "project_id"
}
}
]
},
"query": {
"match_all": {}
}
}
我收到了sku:
MD01575254*
的所有变体。然而,破折号“-”真的让我很困惑。
当我改变正则表达式为:
"regexp": {
"sku": "md01575254-40.*"
}
我无法得到任何结果。我也尝试过:
- "sku": "md01575254-40.*"
- "sku": "md01575254\-40.*"
- "sku": "md01575254-40-.*"
- ...
[-]
。 - Avinash Raj