Hi ,

Maybe you are looking for this -
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-rescore.html

Thanks
            Vineeth

On Tue, Dec 23, 2014 at 2:46 AM, hespoddi <[email protected]> wrote:

> Hi all,
>
> The problem isn't really the query. The problem is we'd like the limit the
> results of the query to just "high" scores before we apply the
> function_score. There is a min_score parameter we could use:
>
>
> http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-min-score.html
>
> But what the min_score should be will, obviously, vary significantly
> depending on the query. Ideally, we'd set the min_score to some percentile
> of the max score for query, but I don't think that's possible:
>
> https://github.com/elasticsearch/elasticsearch/issues/719
>
> I was curious if anyone had any other ideas about how to do this (or
> something close)?
>
> -Chris
>
> On Monday, December 22, 2014 1:34:08 PM UTC-5, vineeth mohan wrote:
>>
>> Hi ,
>>
>> I dont see why it should run into performance issue.
>> In anyway you do it , the _score and score due to  a field have to be
>> computed/loaded.
>> If you precompile your script by placing it in config directory , that
>> should be good enough.
>> Also feel free to write the same in Java code and attach that as script.
>>
>> Thanks
>>             Vineeth
>>
>> On Mon, Dec 22, 2014 at 10:30 PM, Scott Decker <[email protected]>
>> wrote:
>>
>>> If you did the script score path, don't you run into performance
>>> issues?  I would think, running say thousands of queries like that would
>>> probably not be performant.
>>> unless I am missing something.
>>>
>>> On Sunday, December 21, 2014 8:01:06 PM UTC-8, vineeth mohan wrote:
>>>>
>>>> Hello ,
>>>>
>>>> My advice would be to use the script function type. Inside it you can
>>>> access _score which is the score given by the query and the value of the
>>>> field. Mix them together in whatever logic you want.
>>>>
>>>> Thanks
>>>>             Vineeth
>>>>
>>>> On Thu, Dec 11, 2014 at 7:28 PM, hespoddi <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> We'd like to combine the query score with our own custom trending
>>>>> score for a given document. Currently, our query looks like:
>>>>>
>>>>> {
>>>>>     "query": {
>>>>>         "filtered": {
>>>>>             "filter": {
>>>>>                 "and": [
>>>>>                     {
>>>>>                         "range": {
>>>>>                             "trendingScore": {
>>>>>                                 "gt": 0.0
>>>>>                             }
>>>>>                         }
>>>>>                     }
>>>>>                 ]
>>>>>             },
>>>>>             "query": {
>>>>>                 "function_score": {
>>>>>                     "functions": [
>>>>>                         {
>>>>>                             "field_value_factor": {
>>>>>                                 "field": "trendingScore"
>>>>>                             }
>>>>>                         }
>>>>>                     ],
>>>>>                     "query": {
>>>>>                         "bool": {
>>>>>                             "minimum_should_match": 1,
>>>>>                             "should": [
>>>>>                                 {
>>>>>                                     "match_phrase": {
>>>>>                                         "title": {
>>>>>                                             "boost": 1.5,
>>>>>                                             "query": "<phrase>"
>>>>>                                         }
>>>>>                                     }
>>>>>                                 },
>>>>>                                 {
>>>>>                                     "match_phrase": {
>>>>>                                         "content": {
>>>>>                                             "boost": 1.0,
>>>>>                                             "query": "<phrase>"
>>>>>                                         }
>>>>>                                     }
>>>>>                                 }
>>>>>                             ]
>>>>>                         }
>>>>>                     }
>>>>>                 }
>>>>>             }
>>>>>         }
>>>>>     }
>>>>> }
>>>>>
>>>>> So, this query seems to do want we want: it multiples the query score
>>>>> for document with our custom trending score (stored on the "trendingScore"
>>>>> field). The problem is that the trending score, in many cases, overwhelms
>>>>> the query score. Thus, documents with very low relevancy, but very high
>>>>> trending, are at the top of our results. Ideally, we'd filter the query to
>>>>> only return the top N percentage of documents that matched, but I don't
>>>>> think that's possible. We've looked at the min_score parameter for queries
>>>>> as well, but I don't know what a "good" value would be for this.
>>>>>
>>>>> Does anyone have any ideas on the best way to solve this problem?
>>>>> Thank you ahead of time!
>>>>>
>>>>> --
>>>>> 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 [email protected].
>>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>>> msgid/elasticsearch/7bc5f7ed-4021-4044-bde0-a9e0f538e213%40goo
>>>>> glegroups.com
>>>>> <https://groups.google.com/d/msgid/elasticsearch/7bc5f7ed-4021-4044-bde0-a9e0f538e213%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>  --
>>> 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 [email protected].
>>> To view this discussion on the web visit https://groups.google.com/d/
>>> msgid/elasticsearch/72359b37-a130-4984-a329-f1dff43848d4%
>>> 40googlegroups.com
>>> <https://groups.google.com/d/msgid/elasticsearch/72359b37-a130-4984-a329-f1dff43848d4%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/304f009b-ddc3-4826-8686-cc653c81d946%40googlegroups.com
> <https://groups.google.com/d/msgid/elasticsearch/304f009b-ddc3-4826-8686-cc653c81d946%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CAGdPd5m_vh04Xi0D%2BdXtjL-aNjEGQ42SV92pUS%2BjAdqiijPjkQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to