SQL Server FTS中的多个关键字(或关键字短语) [英] Mutiple keywords (or keyphrases) in SQL Server FTS

查看:127
本文介绍了SQL Server FTS中的多个关键字(或关键字短语)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我在使用CONTAINS和FormsOf的SQL Server 2008全文搜索查询中找不到有关如何使用多个关键字和/或关键字短语的组合的任何信息-INFLECTIONAL

我已经尝试过了:

Hi
I''m having trouble finding any information on how to use multiple keywords and / or combination of keyphrases in a SQL Server 2008 full-text search query using CONTAINS and FormsOf - INFLECTIONAL

I''ve tried :

USE tblCand
 SELECT CandID, LastName, FirstName  from [tblCand]
 WHERE CONTAINS(([Resume]),'FORMSOF(INFLECTIONAL,"Windows Administrator") AND FORMSOF(INFLECTIONAL,"Huntsville")');



但这没有结果.

但是当我尝试:



yet this gives me no results.

But when I try :

USE tblCand
DECLARE @Keywords AS varchar(4000)
SET @Keywords = '"Windows Administrator" and Huntsville'
 SELECT CandID, LastName, FirstName  from [tblCand]
 WHERE CONTAINS(([Resume]),'FORMSOF(INFLECTIONAL,@Keywords)');



那么这给了我所有包含"Windows Administrator"或Huntsville的行.

我想要得到的只是在同一行中同时包含短语"Windows Administrator"和亨茨维尔的行.

关于我要去哪里的任何线索吗?谢谢,PTV



then this gives me all rows containing either "Windows Administrator" or Huntsville.

What I''m trying to get are just the rows that contain both the phrase "Windows Administrator" and the word Huntsville, both in the same row.

Any clues as to where I''m going wrong? Thanks, PTV

推荐答案

CONTAINS似乎不喜欢多个FORMSOF短语.请尝试以下操作:
It doesn''t seem like the CONTAINS likes multiple FORMSOF phrases. Try the following:
USE tblCand;
   SELECT
      CandID, LastName, FirstName
   FROM
      [tblCand]
   WHERE
      CONTAINS(([Resume]), 'FORMSOF(INFLECTIONAL,"Windows Administrator" AND Huntsville)')


也许只是不喜欢在同一个标​​记中包含两个FORMSOF,所以将它们分解:


Or maybe it just doesn''t like having two FORMSOF in the same token, so break them up:

USE tblCand;
   SELECT 
      CandID, LastName, FirstName
   FROM 
      [tblCand]
   WHERE 
      CONTAINS(
         ([Resume]),
         'FORMSOF(INFLECTIONAL, "Windows Administrator")' AND 
         'FORMSOF(INFLECTIONAL, Huntsville)'
      );


让我们尝试将CONTAINS分为两个词组:


Let''s try breaking the CONTAINS into two phrases:

USE tblCand;
   SELECT
      CandID, LastName, FirstName
   FROM
      [tblCand]
   WHERE
      CONTAINS(([Resume]), 'FORMSOF(INFLECTIONAL, "Windows Administrator")') AND
      CONTAINS(([Resume]), 'FORMSOF(INFLECTIONAL, "Huntsville")');


这篇关于SQL Server FTS中的多个关键字(或关键字短语)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆