elasticsearch - How to write a percolator query to nest program -
i have percolator query in elastic search below.
put /skill-index put /skill-index/skill-type/_mapping { "properties" : { "message" : { "type": "string" } } } put /skill-index/.percolator/101 { "query" : { "match" : { "message" : "crossstitch" } } } put /skill-index/.percolator/102 { "query" : { "match" : { "message" : "chainstitch" } } } put /skill-index/.percolator/103 { "query" : { "match" : { "message" : "stemstitch" } } } put /skill-index/.percolator/104 { "query" : { "match" : { "message" : "longandshort" } } } /skill-index/skill-type/_percolate { "doc" : { "message" : "know chainstitch , stemstitch" } } now, have query in nest program. eg. have entity called skillentity. , passing variable string, such "know chainstitch , stemstitch".
i want retrieve value 102,103
so should framing declare list list skillslist= new list
after want lambda expression query, like.
var skillslist = client.percolate(...... pass variable , result..)
could please me in framing query in nest
this example explain how deal percolators in nest
internal class program { private static void main(string[] args) { var indexname = "indexname"; var uri = new uri("http://localhost:9200"); var settings = new connectionsettings(uri) .setdefaultindex(indexname) .enabletrace(); var client = new elasticclient(settings); var indicesresponse = client.deleteindex(descriptor => descriptor.index(indexname)); client.createindex(descriptor => descriptor.index(indexname).addmapping<document>(m => m.mapfromattributes())); var percolate = client.registerpercolator<document>("p1", descriptor => descriptor.index(indexname).query(q => q.match(m => m.onfield(f => f.name).query("test")))); var percolate2 = client.registerpercolator<document>("p2", descriptor => descriptor.index(indexname).query(q => q.match(m => m.onfield(f => f.name).query("something")))); var percolateresponse = client.percolate<document>(descriptor => descriptor.index(indexname).document(new document {name = "this test"})); //matches contain percolator p1 var percolatorids = percolateresponse.matches.select(x => x.id); console.readkey(); } } public class document { public int id { get; set; } public string name { get; set; } }
Comments
Post a Comment