2010-06-25 4 views
1

SQL 데이터베이스에서 행을 검색하면서 C#으로 검색 엔진을 작성하고 있습니다. 비슷한 단어도 검색 대상에 포함하고 싶습니다. 예를 들어 사용자가 "투자"를 검색하면 검색은 "투자"에 대한 일치 항목을 반환하거나 사용자가 "금융"을 검색하면 검색도 반환됩니다 "금융"과 일치합니다.키워드에서 비슷한 단어를 검색하는 데 사용할 API가 있습니까?

검색 키워드에서 어떻게 비슷한 단어를 검색 할 수 있습니까?

답변

3

달성하고자하는 것은 "줄기 제거"로 알려져 있습니다. 추가 정보를 원하시면 위키 백과 문서를 읽기 :

Select * from SomeTable 
where FREETEXT(*,'invest') 

위의 검색 모든 컬럼 : SQL Server를 사용하는 경우는 stemming을 지원하는 FREETEXT 검색, 활용할 수 있습니다

http://en.wikipedia.org/wiki/Stemming

3

당신이 찾고있는 것은 stemming입니다. Lucene.net에서 사용할 수있는 항목을보고 싶을 수 있습니다. SQL Server가 전체 텍스트 인덱싱을 기본적으로 지원할 수도 있습니다. 사실 this article으로 주어진 것처럼 보입니다.

1

투자의 모든 형태의 투자. 다음과 같은 의미입니다.

Select * from SomeTable 
where CONTAINS(*,'"invest" or "invests" or "investor" 
        or "investing'" or "invested" or "investor's" ...) 

여기에 더 많은 예제와 설명서가 포함 된 MSDN article입니다.

관련 문제