在我的文本資料中,我有這樣的結構:
回復 回復 40、131、132、176-178、183、。2 節 187, 188, 184, 189, 194
其中 KK 是抄本的名稱,ст。ст. 或 ст. 意思是文章,。意思是部分。我希望 Elasticsearch 使用正則運算式找到一個類似的字串并執行一個腳本來處理這個字串,這樣我就可以得到這樣的標記
40 KK,131 KK,...... 194 KK。
如何在 Elasticsearch 中獲取它?
uj5u.com熱心網友回復:
我認為可以改進我撰寫的這個腳本。您必須在索引時呼叫它來獲取格式化資料。
POST _ingest/pipeline/_simulate
{
"pipeline": {
"processors": [
{
"script": {
"description": "Sample handle text",
"lang": "painless",
"source": """
String[] envSplit = ctx['env'].splitOnToken(',');
ArrayList tags = new ArrayList();
for(int i = 0; i< envSplit.length; i ) {
String value = envSplit[i];
if(!value.contains('KK')) {
tags.add(value.replace('ч. 2', '')
.replace('ст. ', '')
' KK');
} else {
tags.add(envSplit[i]);
}
}
ctx['tags'] = tags;
"""
}
}
]
},
"docs": [
{
"_source": {
"env": "ст. ст. 40, 131, 132, 176-178, 183, ч. 2 ст. 187, 188, 184, 189, 194 KK"
}
}
]
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/491194.html
標籤:弹性搜索
