We are working on a customer support site that contain various resources including support articles, videos and news.
We plan in implementing a global search using Lucene.NET and we are wanting to have it display similar to Google, ie; all different resources displayed inline based on relevance and popularity. We will also have index pages filter by thing like "Top Rated" or "Most Pop开发者_开发技巧ular".
My main question is tracking what is actually most popular, how long after the pages is opened do you class it as a "View". for example if a customer does a search how do you track which result they opened was actually what they were looking for, at what point do you add "weight" to the search terms used?
I understand this is all based on assumptions, I'm really just looking for an accurate way to display the most relevant data to the user.
Any advice or points in the right direction would be appreciated.
One approach to detecting a satisfied search is to store which pages they click on for a given query in a given time frame. If they click results that show up further down, and stop searching, perhaps they were satisfied with a lower-ranking document.
If you want to do any analysis like PageRank you will have to do that as part of the crawling and indexing steps rather than on the fly as the user searches. Nutch, for example, can perform certain analyses at crawl and index time.
精彩评论