2

I made a search app with elasticsearch. Items have name and follower count. I use follower count to boost elasticsearch result.

Ex: Let's say i have two item. item_1 = [name = "abc def", follower = 1000] and item_2 = [name = "abc", follower = 10].

So, when user search for "abc", even though item_2 is exact match I bring item_1 as most likely result. This works just fine for me. But I want to add new feature to this.

I want to be able to detect items that getting popular and boost their score.

So, I think if I store follower count daily for a week or a month. Like;

ItemNo  Day1    Day2    Day3    Day4    ...
1       1000    1030    1040    1050    ...
2       50      100     200     400     ...
3       1M      1.001M  1.002m  1.003M  ...
4       1.1M    1.1M    1.1M    1.1M    ...

So, if daily follower count increase like this for item 1, 2, 3 and 4. Then, I should be able to detect increase of follower count for item 2 and boost it over item 1. Because, even though item 1 has more follower, item 2 is getting more follower every day. But, item 3 and should not be boosted over item 4 because percentage of increase on item 3 is very small.

Bottom line, i want to be able to detect increasing popularity but it should be based on increase percentage.

So, do you have any suggestion to do this. or can you refer any paper that help me to solve this problem?

sehe
  • 374,641
  • 47
  • 450
  • 633
  • [tag:boost] is not the tag you want. I /guessed/ a better one. Fix it if you know an even better one! – sehe Nov 03 '15 at 11:14

0 Answers0