title: Getting top n latest entries from SQL Server full text index
body: <p>I have a table in a SQL Server 2008 R2 database</p>
  
  <pre><code>Article (Id, art_text)
  </code></pre>
  
  <p>Id is the primary key.
  art_text has a full text index. </p>
  
  <p>I search for latest articles that contain the word 'house' like this:</p>
  
  <pre><code>SELECT TOP 100 Id, art_text 
  FROM Article
  WHERE CONTAINS(art_text, 'house')
  ORDER BY Id DESC
  </code></pre>
  
  <p>This returns the correct results but it is slow (~5 seconds). The table has 20 million rows
  and 350,000 of those contain the word house. I can see in the query plan that an index scan is performed in the clustered index for the 350,000  Ids returned by the full text index. </p>
  
  <p>The query could be much faster if there would be a way to get only the latest 100 entries in the full text index that contain the word 'house'. Is there any way to do this in a way that the query is faster? </p>