問題:與lowercase_expanded_terms Elasticsearch正則表達式過濾器語法
我想執行匹配文本查詢,然後對一些領域的正則表達式過濾器。 對於我的生活,我找不出正確的語法一個正則表達式過濾器。
(我用使用Node.js的客戶端執行查詢)
說明:
的land
場在我的文件設置爲index:'not_analyzed'
。我已經驗證了查詢的工作原理沒有過濾條款。我已經驗證,有在土地領域的項目與模式,比如'T2-R3'
。我從閱讀,這是必要的,包括lowercase_expanded_terms: false
參數的查詢,因爲正則表達式擴展的默認行爲是隻有小寫的文檔理解。
這有什麼錯我的查詢:
es.search({
index: index_list,
type: 'page',
body: {
query: {
bool: {
must: [
{match: { _all: {
"query": search_text,
"operator": "and"
}}},
],
filter: [
{"regexp": {land: 'T*',
lowercase_expanded_terms: false}}
]
}
},
aggs: {
"top_tag_hits":{
terms: {
field: "agg_index",
size: agg_size
},
aggs: {
"hits":{
top_hits: {
size: agg_size
}
}
}
}
},
},
explain: true,
size: result_size,
}).then(function (resp) {
var hits = resp.hits.hits;
var aggs = resp.aggregations;
response.send(aggs);
}, function (err) {
console.trace(err.message);
response.send(err.message);
});
我想到這可能是一個愚蠢的語法錯誤。但也有珍貴稀少elasticsearch例子四周,沒有,我已經發現,同時使用正則表達式過濾器,並設置lowercase_expanded_terms
Elasticsearch版本2.3
絕對應該已經閱讀'T. *'在原來的問題。原來我的問題比較複雜。將更新問題 – GrantD71