c# - How to Pass Raw JSON to RegisterPercolator in ElasticSearch NEST? -
i trying create object-agnostic percolator microservice in c#. can create , map index passed method using json object mapping, can register percolator against index using standard nest query format, such this:
var percolateresponse = client.registerpercolator<dynamic>(query .name, p=>p .index(index.actualname) .query(q=>q .term(t=>t .onfield("banana") .value("green"))));
the problem is, need able pass in json of query , i've been trying use following code:
var percolateresponse = client.registerpercolator<dynamic>(query .name, p=>p .index(index.actualname) .query(q=>q.raw(query.context)));
the json passing in is:
{"query": {"term": {"banana": {"value": "green"} } } }
what happening though, instead of registering specified query percolator query, sets query value of registerpercolatorrequest
null , cancels out query if exists.
i have tried number of different formats of json, , have not found .query(q=>q.raw(query.context))
liked.
does know how solve this? have moved closer , closer solution this, never quite gotten past 1 issue. last remaining roadblock creating percolator proxy class. appreciated. thanks.
just reference, error getting (deep inside response object) this:
[<indexname>] failed parse query [<queryname>]]; nested: queryparsingexception[[<indexname>] [_na] query malformed, no field after start_object
i think have found solution trying do... above query didn't work, through trial , error, have found out work take in object-agnostic query , register percolator:
var percolateresponse = client.registerpercolator<dynamic>(query .name, p => p .index(index.actualname) .query(q => q .simplequerystring(sqs=>sqs .query(query.context))));
this creates query simple query string , stores such in elasticsearch, , appears work when try percolate document match query!
Comments
Post a Comment