What should the SQL keyword “ISABOUT” [deprecated?

2019-05-06 04:59发布

问题:

In MS SQL Full-text search, I'm using ISABOUT in my queries.

For example, this should return the top 10 ProductIDs (PK) with a RANK Field in the ProductDetails Table

SELECT * 
FROM CONTAINSTABLE( ProductDetails, *, ISABOUT("Nikon" WEIGHT (1.0), "Cameras" Weight(0.9)), 10 )

However, according to the SQL Documentation ISABOUT is deprecated.

So, I have two questions:

  1. What is ISABOUT being replaced with?
  2. DO I even NEED any extra SQL Command there? ( IOW, would just putting the search phrase 'Nikon Cameras' be better? )

What I was originally trying to accomplish here was to weight the first word the highest, then the second word lower, and keep descending to 0.5 where I would just rank the remaining words at 0.5.

My logic ( and perhaps it's flawed ) was that people's most relevant search words usually happen near the beginning of a phrase ( in English ).

  • Am I going about this the wrong way?
  • Is there a better way?
  • Am I asking too many questions? (^_^)

Thanks all for your time...

回答1:

Your link above refers to Enterprise Search, but for SQL Server full-text search, ISABOUT is still supported as part of the CONTAINS predicate and CONTAINSTABLE function.

This question was also covered in a post to the MSDN SQL Server Search forum.



回答2:

ISABOUT adds custom weights to your words which help in ranking the documents returned. For CONTAINS(), it does not do any ranking, this form has no influence.