<p>I'm wondering if there are any good .NET recommendation algorithms available in open source projects, whether attached to a search engine or not.  By recommendation I mean something that accepts a full-text article and recommends other articles from its index based on keyword similarity.</p>

<p>At the high end there are document classification engines like Autonomy; at the low-end spam filters and blog "related posts" widgets.  Possibly advertisement-to-article matching, too. I'd like to incorporate one into a project but can't afford the high end and the low end seems to all be LAMP-based.</p>

<p>[Sorry, one answer asked for clarification:  What I'm looking for is ideally a standalone library, but I'm willing to adapt good source code as necessary.  The end result is that I need to be able to create a C# service that accepts an arbitrary amount of text and returnsa list of similar previously-indexed articles.  Basicallly, the exact thing that StackOverflow itself does as you are submitting a question!]</p>

<p>Thanks!
Steve</p>

[{'answer_id': 72819, 'author': 'massimogentilini', 'author_id': 11673, 'author_profile': 'https://Stackoverflow.com/users/11673', 'pm_score': 0, 'selected': False, 'text': '<p>Question is not very clear (algorithm or library???) but only thing that comes to mind is Lucene.NET, the porting of the popular Lucene library on the .Net framework. HTH.</p>\n'}, {'answer_id': 473826, 'author': 'Eduardo Molteni', 'author_id': 2385, 'author_profile': 'https://Stackoverflow.com/users/2385', 'pm_score': 1, 'selected': False, 'text': '<p>I think that in StackOverflow they extract all common english words from the text and then compare this words with the remaining words of other posts to get the "Related" posts.</p>\n'}]
['https://Stackoverflow.com/questions/72029', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/7104/']