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&#94;20\",\"Id&#94;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/c331b066-75e8-491e-8ffc-e4f8539f100e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to