'More Like This'-functionality suited for comparing entities?


(Maarten Roosendaal) #1

Hi,

We want to be able to suggest entities to customers that are similair to
their entity. For example, i create a *wishlist *and add 10 products to
that list. Another customer also created a wishlist with 20 products on it
and there are *6 *products that are the *same *on both lists. We want to be
able to suggest the list from the other customer to myself.

The 'more like this' API seems like it can be used but there is very little
control over what you can configure. The more like this query is more
flexible but i don't want to provide text, i simply want to say: "search
lists that are like mine based on the array of productId's from my list
where there should be at least 5 (exact) matches".

Is this possible with elasticsearch? If so, which way to go?

Thanks,
Maarten

--
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/409ba68b-36d4-4502-b05e-11d7858c1041%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(Maarten Roosendaal) #2

as a side note: i've modelled a product as a nested document inside the
list-entity

Op maandag 6 januari 2014 12:15:57 UTC+1 schreef Maarten Roosendaal:

Hi,

We want to be able to suggest entities to customers that are similair to
their entity. For example, i create a *wishlist *and add 10 products to
that list. Another customer also created a wishlist with 20 products on it
and there are *6 *products that are the *same *on both lists. We want to
be able to suggest the list from the other customer to myself.

The 'more like this' API seems like it can be used but there is very
little control over what you can configure. The more like this query is
more flexible but i don't want to provide text, i simply want to say:
"search lists that are like mine based on the array of productId's from my
list where there should be at least 5 (exact) matches".

Is this possible with elasticsearch? If so, which way to go?

Thanks,
Maarten

--
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/7d83108f-a468-4416-bdd6-09868cfad883%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(Jörg Prante) #3

Have you tried
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html

You don't have to provide "text", instead, just provide the user's wishlist
you want similar wishlists to.

Jörg

--
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/CAKdsXoG%3DStxtkJHGDXJTJDX1RV0CiQWC1%2Br9NJNOYhv5gbLpmg%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


(Maarten Roosendaal) #4

Hi,

Not yet, what i did was:

  • flatten the data to 1 property (productIds) so it is an array of
    productId's
  • use the API
    and it worked quite nicely, but i have no control over other things like,
    only compare to lists with more than 5 productId's.

What i'm not certain of if i could use nested objects instead of
productId's. I could of course do both!

Firstly I'll try to rewrite the mtl API as an mtl query so i get the same
result, from that point on i'll use your link to configure a more precise
result.

Thanks,
Maarten

Op maandag 6 januari 2014 13:42:13 UTC+1 schreef Jörg Prante:

Have you tried
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html

You don't have to provide "text", instead, just provide the user's
wishlist you want similar wishlists to.

Jörg

--
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/e12bc909-5bd8-4d01-9a75-ec40678e7d89%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(Maarten Roosendaal) #5

Hi Jörg,

How do i proved the user's wishlist when using the mlt query?
i've tried:

GET http://localhost:9200/wishlists/list/[id user's wishlist]/_search/
{
"more_like_this" : {
"fields" : ["product_id"],
"min_term_freq" : 1,
"max_query_terms" : 12
}
}

but it does not work.

Op maandag 6 januari 2014 13:42:13 UTC+1 schreef Jörg Prante:

Have you tried
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html

You don't have to provide "text", instead, just provide the user's
wishlist you want similar wishlists to.

Jörg

--
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/2b322095-c155-4748-93c5-d0047a6aa036%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(system) #6