[英]How to use regexp query filter in ElasticSearch Field Names?
對於下面給出的ElasticSearch
索引的測試數據,我們如何消除包含UUID或任何正則表達式的字段名稱?
{
"_index": "twitter",
"_type": "test_data",
"_id": "05ed7d0d-ec9e-4e48-a5a3-cdef11e7be28",
"_score": 8.843938,
"_source": {
"test_data-created_time": 1485858118,
"test_data-status": 1,
"cluster-05ed7d0d-ec9e-4e48-a5a3-cdef11e7be28": "ElasticSearch"
}
}
我可以通過下面的查詢來滿足此要求,但是有許多字段與UUID匹配,這是字段名稱本身的一部分。 任何人都對如何優化有更好的想法?
GET /twitter/test_data/_search
{
"_source": {
"excludes": [
"cluster-05ed7d0d-ec9e-4e48-a5a3-cdef11e7be28"
]
}
}
不知道是否有排除通配符之外的其他方式的方法。 如果您所有的UUID字段都具有像特定前綴這樣的模式,例如cluster,則可以使用cluster-*
。 否則,如果它與其他字段不沖突,則可以使用以下方法:
"_source": {
"excludes": ["*-*-*-*-*"]}
同意這不是一個很干凈的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.