I got it: To add an array of var to an anonymous type add them like this.
var field1 = new {field="Name^20"}; var field2 = new {field = "_all"}; var field3 = new {field = "Id^20"}; var myfields = new [] {field1,field2}; This is slick now it puts the brackets in and there is no escaping :-) On Thursday, April 30, 2015 at 9:01:27 PM UTC-4, GWired wrote: > > I was able to get this to work in ES using head and got back what i needed. > > However translating to ElasticSearch.net has been an issue. > > I have an anonymous type doing a match all query and this works fine and > dandy. > > I am trying to do the multi_match as above but it isn't returning any > results. I'm not sure > > var myfields = "[\"Name^20\",\"Id^20\",\"_all\"]"; <- this gets > no results > var myfields = "[\"Name^20\",\"Id^20\",\"_all\"]"; <- this crashes with > all kinds of errors > > How do you do these bracketed values? > > var search = new > { > > query = new > { > multi_match = new > { > fields = myfields, > query = keyword, > type = "best_fields", > use_dis_max= "true" > } > }, > from = 0, > size = limitAllTypes, > aggs = new > { > top_types = new > { > terms = new > { > field = "_type" > }, > aggs = new > { > top_type_hits = new > { > top_hits = new > { > size = limitPerType > } > } > } > } > } > }; > > > > > On Wednesday, April 29, 2015 at 12:06:47 PM UTC-4, Joel Potischman wrote: >> >> You could use a boosting query >> <http://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-boosting-query.html>, >> >> or you could use a multi-match query >> <http://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html> >> and >> add a boost directly to the name and id fields. Something like: >> >> { >> "multi_match": { >> "fields": [ >> "name^2", >> "id^2", >> "_all" >> ], >> "query": keyword, >> "type": "best_fields" >> } >> } >> >> That tells Elasticsearch to search all fields, but to additionally search >> name and id and double their score if they match (that's the "^2" part). >> the "best_fields" type will use the best score from the name, id, and _all >> searches. You might want most_fields to rank records that contain your >> query terms in name *and* id *and* other fields even higher. Note that >> my snippet is using the Query DSL. The syntax for the client you're using >> will probably be slightly different but that's the general idea. >> >> Also note that I've been using Elasticsearch less than a year though so >> there may be better approaches, but that's where I'd start. >> >> -joel >> >> >> On Tuesday, April 28, 2015 at 4:42:56 PM UTC-4, GWired wrote: >>> >>> I am attempting to boost values for queries. >>> >>> I'm searching across all fields and tables and returning 25 results for >>> each type. >>> >>> This is working fine however I need to Boost if the field name Name or >>> the Field Name ID have the value in it. >>> >>> I'm using ElasticSearchClient and sending this search. >>> >>> search = new >>> { >>> >>> query = new >>> { >>> query_string = new >>> { >>> query = keyword, >>> default_field = "_all" >>> } >>> }, >>> from = 0, >>> size = limitAllTypes, >>> aggs = new >>> { >>> top_types = new >>> { >>> terms = new >>> { >>> field = "_type" >>> }, >>> aggs = new >>> { >>> top_type_hits = new >>> { >>> top_hits = new >>> { >>> size = limitPerType >>> } >>> } >>> } >>> } >>> } >>> >>> ElasticsearchResponse<DynamicDictionary> searchResponse = >>> client.Search("jdbc", search, null); >>> >>> How do i tell this to boost the name and id fields over all other fields. >>> >>> If I'm searching for "My Searched Company" and that is in the Name field >>> I want it at the top of the list. vs in notes, addresses or whatever other >>> columns etc. >>> >>> >>> -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/8cd471ec-cbe9-485f-adc7-8ae23326f537%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.