【发布时间】:2017-06-02 13:00:19
【问题描述】:
我正在尝试部分匹配数字字段。在下面的查询中,我希望 id(定义为 long)匹配任何以 419 开头的文档。(所以 4191 应该匹配,419534 应该匹配,但不是 123419)
{
"size": 20,
"from": 0,
"sort": [{
"customerName": "asc"
}],
"query": {
"bool": {
"must": [{
"bool": {
"should": [{
"term": {
"id": 419
}
}]
}
}]
}
}
}
有人在我的查询中使用了一个简洁的解决方案吗?
【问题讨论】:
-
这个答案可能会有所帮助:stackoverflow.com/questions/36199531/… 但您可能需要将
id存储为字符串。 -
将其转换为字符串很容易,但我希望有人知道更好/不同的解决方案。将数字分成几部分(例如 1 12 123)似乎也是搜索数字的一种复杂方式。我会努力将其转换为字符串,然后将其打开一段时间以查看是否有任何解决方案。再次感谢您的帮助,您太邪恶了。
-
出乎意料,您能尝试使用
query_string并使用419*作为查询吗?
标签: elasticsearch