Results ranking: how to?


(Кирилл Шнуров) #1

How to implement something different than term frequency ranking?

When user types "italian restaurant with wi-fi at 5th avenue", I want to
find document with:
address (string) - 5th avenue
kitchens (array of strings) - italian
categories (array of strings) - restaurant
fields.name (string) - wi-fi (exists only when wi-fi = true)
"with" and "at" are already added to stopwords.

In Sphinx it was done by using proximity_bm25 ranking mode. How can I
achieve the same result with ES?

--


(Shay Banon) #2

Heya, you already posted a question about it on the google group, if you
are missing something, continue that thread and don't post the same
question again, but with even less information. Its going to be harder
for the community to properly help you as now there are two threads to
possibly answer.

On Tuesday, November 6, 2012 5:12:37 PM UTC+1, Кирилл Шнуров wrote:

How to implement something different than term frequency ranking?

When user types "italian restaurant with wi-fi at 5th avenue", I want
to find document with:
address (string) - 5th avenue
kitchens (array of strings) - italian
categories (array of strings) - restaurant
fields.name (string) - wi-fi (exists only when wi-fi = true)
"with" and "at" are already added to stopwords.

In Sphinx it was done by using proximity_bm25 ranking mode. How can I
achieve the same result with ES?

--


(Igor Motov) #3

Кирилл,

I think extremely high scores that you are getting might be caused by index
time boosting and multi-valued fields. Try switching to query time
boosting. Take a look at this
example: https://gist.github.com/b62f45dcf28a5c030e67 and see if it works
for you.

Igor

On Tuesday, November 6, 2012 9:55:47 PM UTC-5, kimchy wrote:

Heya, you already posted a question about it on the google group, if you
are missing something, continue that thread and don't post the same
question again, but with even less information. Its going to be harder
for the community to properly help you as now there are two threads to
possibly answer.

On Tuesday, November 6, 2012 5:12:37 PM UTC+1, Кирилл Шнуров wrote:

How to implement something different than term frequency ranking?

When user types "italian restaurant with wi-fi at 5th avenue", I want
to find document with:
address (string) - 5th avenue
kitchens (array of strings) - italian
categories (array of strings) - restaurant
fields.name (string) - wi-fi (exists only when wi-fi = true)
"with" and "at" are already added to stopwords.

In Sphinx it was done by using proximity_bm25 ranking mode. How can I
achieve the same result with ES?

--


(system) #4