Hello, I have a task which seems trivial, but I couldn't find any related information from Solr documentation. So I'm asking the community for an advice. I have relatively big amount (about 25 Millions) of documents which are describing products. Those products could be rated by humans and/or machines. The rating is nothing more but just "Like" kind of points. So if someone or something likes a product it adds +1 to the total points of the product. I was thinking I could just have an integer field in the document, and increment it each time when Like event is fired, and just sort this field. But, because Like event could come from external systems, I could get literally thousands of such events in first few hours. And I'm not sure that updating the document that often would be good. This is the first question - May be there is another way to do such dynamic rating? So more "Liked" products will be first in a search result.
The second problem, that the client is asking to have time based search results. For example those "Likes" should not boost the document if they are a week old, a month old, etc. Ideally, they want to set the expiration time dynamically, but if this is a problem, it is acceptable to have some predefined time of expiration of those "Likes", but still we are going to need at least a week and a month thresholds. Second question, if this is possible at all to do using Solr, if so, how? If not, what could you suggest? Thanks in advance, any advice, information, anything are greatly appreciated. Eugene S.