我正在使用Sql Server全文搜索,我需要根据详细描述搜索职位列表。我需要得到更多单词匹配的那些。例如,如果一个标题有2个与描述相同的单词,而另一个单词有3个单词的共同点,我更喜欢有3个单词的单词(如果我能得到一定比例的匹配,可能会更好,意味着匹配的单词结束总字数)。
我知道通常搜索是在长篇描述中完成的,但我想尝试相反的方向。
这就是我现在所拥有的:
SELECT title, t.rank
FROM JobTitle(NOLOCK) ja
inner join containstable(JobTitle, title, 'FORMSOF(INFLECTIONAL, "client") AND FORMSOF(INFLECTIONAL, "service")') as t ON ja.JobTitleId=t.[Key]
order by 1
修改
这非常有用,我希望它可以帮助其他人:
select top 100 Title, SUM(occurrence_count) AS MatchedWordsCount, COUNT(*) AS MatchedUniqueWordsCount
FROM sys.dm_fts_index_keywords_by_document
(
5, 693577509
)
inner join JobTitle cjt ON document_id=cjt.JobtitleId
where display_term='client' or display_term='service'
group by Title
order by 3 desc, 2 desc