Is consistent scoring across 2 documents that match either 1 of 2 properties possible?


(Michelle May) #1

Hi,

We've been struggling with this for a few days now so I think it is time to
pick the expert brains, although probably best to explain by delving
straight into an example:

  1. Assuming we have the following document:

{

"id": "/people/person1",

"dob": "1980-04-12",

"fullname": "Mickey Arthur Mouse",

"aliasfullname": "Mickey Bernard Mouse"

}

  1. When we do the this search:

    {
    query :
    {
    "bool" :
    {
    "should" : [
    {
    "match" :
    {
    "fullname" :
    {
    "query" : "mickey arthur mouse"
    }
    }
    },
    {
    "match" :
    {
    "aliasfullname" :
    {
    "query" : "mickey arthur mouse"
    }
    }
    }
    ]
    }
    }
    }

we get score 13.37 (for example)

  1. Now, assuming we have this document (same as above except no
    aliasfullname)

{
"id": "/people/person1",
"dob": "1980-04-12",
"fullname": "Mickey Arthur Mouse"
}

  1. When we do the search from step 2 above we get score 3.76 (for example)

How can we ensure that if a search is done on either the real name or the
alias name (we won't know which is being searched on) that a person with an
alias does not get scored higher than someone without an alias? What type
of query could we use to ensure that both searches return the same score?
We've tried dis_max and have omit_norms: true on the searched fields but
nothing gives the same score so I am beginning to wonder if it is an
unrealistic expectation.

Any assistance/advice would be greatly appreciated.

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/aff6faac-3ead-4a69-ab70-12d2ccd3bc59%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(system) #2