Better or Not combine Search Engine and Recommend System?


In our project, we use search engine, but the result need to be ranked based on each user's interest, similar to recommendation according to users' keyword.

If we separate the two system, it would cost a lot time.

Is there a better way to combine Search Engine and Recommend System together?

Or is there a simple way to customize my ranking strategy to achieve this?


This is what we were trying to do in our project as well. There are two things while solving this problem - Relevancy vs Personalization. You should look at how much of personalization is ruining the relevancy of the query. For example, if I'm suggesting news, then it makes sense to suggest based on location. I hope you already would have analyzed the use cases.

The way that I followed was - after getting the results on the search, then re-rank results to give personal suggestions. For example if I was searching for a specific algorithm to code, then getting the result set and re-ranking on my preference, lets say on, Java (based on my previous history) will make sense. In any case relevancy is of utmost importance and then we fit in user's preferences.

Again the use case is important, if this was for a news search, then directly querying and retrieving on location is best way to do it.


  • Better or Not combine Search Engine and Recommend System?
  • Pagerank Personalization vector , edge weights and dangling dictionary (teleportation vector)
  • Determine the size of caption windows 7 using java AWT
  • how do i add a parent key to json object using javascript [closed]
  • Programmatically Change Windows 10 Lock Screen Background (on Desktop)
  • Specific group rankings in R
  • Model.ManyToManyField.all() gives AttributeError: 'ManyToManyDescriptor' object has no att
  • Getting list of friends using the same application in Facebook using Javascript SDK
  • create new property in new object from linq
  • Quote original message in a reply using mailkit
  • Customize google placepicker colors for android
  • Visual Studio 2017 ASP.Net Publish Self-Contained Dot Net Core App
  • Resizing ToolStripButtons to fit complete BackGround image
  • How to best manage SMTP clients
  • Swift iOS don't recognize GCM library imports?
  • Counting problem C#
  • KnockoutObservableArray with typed elements in TypeScript
  • R Split data.frame using a column that represents and on/off switch
  • Installing PHP 7 on digitalocean
  • Unable to install Git-core+svn by MacPorts
  • Django simple Captcha “No module named fields” error
  • Declaring variable dynamically in VB.net
  • Combining SpatialPolygonsDataFrame of two neighbour countries
  • Could not find rake using whenever rails
  • Error when parsing timestamp with pandas read_csv
  • Google Custom Search with transparent background
  • Exchange data b/w iOS devices using Bluetooth 4.0
  • Insert into database using onclick function
  • What is Eclipse's Declaration View used for?
  • Can I make an Android app that runs a web view in Chrome 39?
  • Timeout for blocking function call, i.e., how to stop waiting for user input after X seconds?
  • Is there a mandatory requirement to switch app.yaml?
  • Windows forms listbox.selecteditem displaying “System.Data.DataRowView” instead of actual value
  • Proper folder structure for lots of source files
  • What are the advantages and disadvantages of reading an entire file into a single String as opposed
  • Can Visual Studio XAML designer handle font family names with spaces as a resource?
  • How does Linux kernel interrupt the application?