2010-03-25 7 views
2

전체 텍스트 인덱싱 된 데이터베이스 테이블이 있으며 여기에 CONTAINS-function을 사용하여 검색 쿼리를 수행합니다.숫자가있는 SQL Server에 포함 된 결과가 없습니다.

내가 할 경우 :

SELECT * FROM Plants WHERE CONTAINS(Plants.Description, '"Plant*" AND "one*"'); 

내가 다시 단어 "공장"과 "일"에 설명을 일치하는 모든 정확한 결과를 얻을 수 있습니다.

일부 플랜트는 "플랜트 1", "플랜트 2"등과 같이 이름이 지정되며 이는 문제입니다.

SELECT * FROM Plants WHERE CONTAINS(Plants.Description, '"Plant*" AND "1*"'); 

누구나 이유를 알고 : 나는이 작업을 수행 할 때

, 난 어떤 결과를 얻을 수 없다?

+0

2005 또는 2008 서버입니까? –

+0

그것은 2005 년 서버입니다 – dale

답변

2

"and"및 "the"와 같이 키워드 검색에서 색인이 생성되지 않는 일반적으로 사용되는 단어 목록이 있습니다.

텍스트 "1"도 해당 목록에 나타납니다. 따라서 인덱스에 나타나지 않고 CONTAINS 절을 찾을 수 없습니다.

제대로 기억한다면 관리자 인터페이스를 사용하여 일반적인 단어 목록을 편집 할 수 있습니다. 몇 년 전에 한 번 편집 해 보았습니다. 내가 한 후에 그 차이를 말하는 데 어려움을 겪었습니다.

+1

고마워요. 파일 위치는 다음과 같습니다. Program Files \ Microsoft SQL Server \ MSSQL.x \ MSSQL \ FTData \ noiseXXX.txt – dale

0

Daan이 맞습니다. 1보다 앞에 *이 필요합니다. 검색 용어의 양쪽에 와일드 카드를두면 위치에 관계없이 검색어의 전체 문자열을 검색합니다.

+0

아니, 처음에는 별의 유무에 관계없이 동일한 결과가 나타납니다. – dale

관련 문제