我第一次面对弹性搜索。 Elasticsearch与SVN一起使用。
我需要查找特定文件夹的提交。例如,有两个分支:
此类查询
{
"query": {
"bool": {
"should": [
{
"indices": {
"indices": [
"5439ce1e-e92f-4759-b0c0-3a753b1703b6"
],
"query": {
"bool": {
"must": [
{
"range": {
"revision": {
"from": 413493,
"to": 415000
}
}
},
{
"span_first": {
"match": {
"span_term": {
"path": "branches"
}
},
"end": 1
}
},
{ _
"match": { |
"path": "0.10.2-hotfix" <------|
} |
} _|
]
}
},
"no_match_query": "none"
}
}
]
}
}
}
返回两个文件夹中的提交。
如何完全找到 0.10.2 或 0.10.2-hotfix 的提交?
答案 0 :(得分:0)
尝试使用match_phrase
(这是match
子类型的语法糖):
{
"query":{
"bool":{
"should":[
{
"indices":{
"indices":[
"5439ce1e-e92f-4759-b0c0-3a753b1703b6"
],
"query":{
"bool":{
"must":[
{
"range":{
"revision":{
"from":413493,
"to":415000
}
}
},
{
"span_first":{
"match":{
"span_term":{
"path":"branches"
}
},
"end":1
}
},
{
"match_phrase":{
"path":"0.10.2-hotfix"
}
}
]
}
},
"no_match_query":"none"
}
}
]
}
}
}