2011-04-27 4 views
0

실행중인 쿼리에 문제가 있습니다. 기본적으로 그것은 책 테이블에 대한 검색입니다. 이 쿼리는 아래 저자의 검색 순위를 위해 FREETEXTTABLE 명령을 사용하여SQL Server 2005 - 단일 문자 무시 FREETEXTTABLE

@author = 'lewis c s' 

SELECT * 
FROM tbl_products 
INNER JOIN FREETEXTTABLE(tbl_products, [author], @author, LANGUAGE 'British English') AS key_tbl ON tbl_products.product_id = key_tbl.[key] 
WHERE deleted = 0 
ORDER BY key_tbl.[rank] DESC, author ASC, title ASC, stl_product_id ASC 

내가 혼동 얻을 결과는 ... 반환 맨 윗줄은 저자입니다이 아래 lewis lewislewis c s 순위라고!

이제 noiseENG.txt을 편집하고 단일 문자를 삭제하고 전체 텍스트 카탈로그를 다시 작성했지만 결과에 변화가 없습니다. 목록에 lewis을 추가 했으므로이 파일을 변경하는 것이 효과가 있다는 것을 알고 있으며 작성자 열에 lewis과 함께 모든 검색을 필터링했습니다.

참고 : 'cs'만 검색하면 결과가 나타나지 않으므로 한 글자를 모두 무시하는 것처럼 보입니다! 또한 인덱싱 된 필드는 모두 British English으로 설정됩니다.

누구도 FREETEXTTABLE 명령이 여전히 단일 문자를 필터링하는 이유를 알고 있습니까?

답변

0

는 문구 라를 검색하십시오 :

@author = '"lewis c s"' 
+0

이 수행 아무것도 ... 난 정말 여기에서 어디로 모른다, 나는 완전한 막 다른 골목에 있어요! – Darthtong