我正在嘗試為我的圖書館專案之一創建彈性搜索查詢。我正在嘗試使用正則運算式,但沒有得到任何結果。我正在嘗試輸入以下正則運算式查詢。
GET /manifestation_v1/_search
{
"query": {
"regexp": {
"bibliographicInformation.title": {
"value": "python access*"
}
}
}
}
access 是一個通配符,所以我想創建一個查詢,它作為 python 訪問*而不是 python 訪問
誰能幫助我已經有一些 kibana 經驗的人?
uj5u.com熱心網友回復:
您可以嘗試通配符查詢
{
"query": {
"wildcard": {
"bibliographicInformation.title": {
"value": "saba safavi*"
}
}
}
}
uj5u.com熱心網友回復:
您需要在關鍵字欄位上運行正則運算式查詢并使用 .* 而不是 *
前任。
GET /manifestation_v1/_search
{
"query": {
"regexp": {
"bibliographicInformation.title": {
"value": "python access.*"
}
}
}
}
正則運算式較慢,您也可以嘗試前綴查詢
{
"query": {
"prefix": {
"bibliographicInformation.title": {
"value": "python access"
}
}
}
}
如果欄位是嵌套型別,則需要使用嵌套查詢
更新
對于“文本”型別,欄位存盤為標記。即“python訪問”存盤為[“python”,“訪問”]。您的查詢試圖分別將“phython access*”與這些令牌中的每一個進行匹配。您需要查詢關鍵字 field ,該欄位存盤為單值“phython access”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/335861.html
上一篇:在Kibana的Vega中,如何在一個請求中從兩個不同的aggs創建層
下一篇:如何模擬服務層中的方法
