Social Search?


(Benoit Domingue) #1

Hello,

I'm kinda new to elasticsearch, but so far, it's been a really good
ride ! :slight_smile:

Now I i'd like to boost results that according to a social graph...
For example, if some content is from my friend or my friend's friend,
I'd like to boost it.

How would that be possible using elasticsearch ?

Would I need an index for each users ?
How would you guys set the mapping ?

Thanks a lot !


(Paul Loy) #2

that sounds like possibly a custom score:
http://www.elasticsearch.org/guide/reference/query-dsl/custom-score-query.html

But be careful, friends of friends can become pretty big pretty quick :smiley:

On Fri, Dec 2, 2011 at 7:39 AM, Benoit Domingue bedingue@gmail.com wrote:

Hello,

I'm kinda new to elasticsearch, but so far, it's been a really good
ride ! :slight_smile:

Now I i'd like to boost results that according to a social graph...
For example, if some content is from my friend or my friend's friend,
I'd like to boost it.

How would that be possible using elasticsearch ?

Would I need an index for each users ?
How would you guys set the mapping ?

Thanks a lot !

--

Paul Loy
paul@keteracel.com
http://uk.linkedin.com/in/paulloy


(Karussell) #3

Either attack that via custom score or a filter query which includes
all friend and friends of friends. For jetslide / jetwick(open source)
I've implemented this that way.

But as Paul noted this can become quite big. A solution would be to
attach a marker array "forUsers" to every document. This way you have
hopefully less big arrays in the documents and one a simple term
filter while searching. You could also do some boosting e.g. add
"twitterUserName":9 to the document and then do a sort or boost
against that field...

Regards,
Peter.

On 2 Dez., 16:47, Paul Loy ketera...@gmail.com wrote:

that sounds like possibly a custom score:http://www.elasticsearch.org/guide/reference/query-dsl/custom-score-q...

But be careful, friends of friends can become pretty big pretty quick :smiley:

On Fri, Dec 2, 2011 at 7:39 AM, Benoit Domingue bedin...@gmail.com wrote:

Hello,

I'm kinda new to elasticsearch, but so far, it's been a really good
ride ! :slight_smile:

Now I i'd like to boost results that according to a social graph...
For example, if some content is from my friend or my friend's friend,
I'd like to boost it.

How would that be possible using elasticsearch ?

Would I need an index for each users ?
How would you guys set the mapping ?

Thanks a lot !

--

Paul Loy
p...@keteracel.comhttp://uk.linkedin.com/in/paulloy


(Benoit Domingue) #4

Thanks a lot for both replies! :slight_smile:

It's still kinda fuzzy for me...
The documentation also talks about a different approach,
one where there would be an index for each of users.
Do you guys know what would be indexed in there ?
Only user's friends or also user generated content ?
(http://www.elasticsearch.org/guide/reference/query-dsl/custom-score-
query.html)

Thanks again for your help.

On Dec 2, 3:40 pm, Karussell tableyourt...@googlemail.com wrote:

Either attack that via custom score or a filter query which includes
all friend and friends of friends. For jetslide / jetwick(open source)
I've implemented this that way.

But as Paul noted this can become quite big. A solution would be to
attach a marker array "forUsers" to every document. This way you have
hopefully less big arrays in the documents and one a simple term
filter while searching. You could also do some boosting e.g. add
"twitterUserName":9 to the document and then do a sort or boost
against that field...

Regards,
Peter.

On 2 Dez., 16:47, Paul Loy ketera...@gmail.com wrote:

that sounds like possibly a custom score:http://www.elasticsearch.org/guide/reference/query-dsl/custom-score-q...

But be careful, friends of friends can become pretty big pretty quick :smiley:

On Fri, Dec 2, 2011 at 7:39 AM, Benoit Domingue bedin...@gmail.com wrote:

Hello,

I'm kinda new to elasticsearch, but so far, it's been a really good
ride ! :slight_smile:

Now I i'd like to boost results that according to asocialgraph...
For example, if some content is from my friend or my friend's friend,
I'd like to boost it.

How would that be possible using elasticsearch ?

Would I need an index for each users ?
How would you guys set the mapping ?

Thanks a lot !

--

Paul Loy
p...@keteracel.comhttp://uk.linkedin.com/in/paulloy


(system) #5