我需要構建查詢來獲取 doc.value1 == doc.value2 的文檔{ "query": { "bool" : { "filter" : [{ "script" : { "script" : { "source": "doc['val1'].value == doc['val2'].value", "lang": "painless" } } }] } }}這是我需要用 olivere/elastic 構建的,如果我將其作為 POST 請求發送,它就可以工作。在 golang 我有類似的東西"github.com/olivere/elastic"...query := elastic.NewBoolQuery()// then add something to this query or leave it empty it works fine// but if I add query = query.Filter(elastic.NewBoolQuery().Must(elastic.NewScript("doc.['val1'].value == doc.['val2'].value")))// I'm getting: Error 400 (Bad Request): [source] query malformed,// no start_object after query name [type=parsing_exception]// Then i run it like:client, err := elastic.NewClient()if err != nil { fmt.Println(err) return}resp, err := client.Search("myIndex").Type("myDoc").Query(query).TrackTotalHits(true).Size(limit).Do(context.Background()) if err != nil { fmt.Println(err) return }
使用 Go olivere/elastic 進行 Elasticsearch 查詢以過濾
慕蓋茨4494581
2023-07-17 17:16:57