SQL 데이터베이스에서 행을 검색하면서 C#으로 검색 엔진을 작성하고 있습니다. 비슷한 단어도 검색 대상에 포함하고 싶습니다. 예를 들어 사용자가 "투자"를 검색하면 검색은 "투자"에 대한 일치 항목을 반환하거나 사용자가 "금융"을 검색하면 검색도 반환됩니다 "금융"과 일치합니다.키워드에서 비슷한 단어를 검색하는 데 사용할 API가 있습니까?
검색 키워드에서 어떻게 비슷한 단어를 검색 할 수 있습니까?
SQL 데이터베이스에서 행을 검색하면서 C#으로 검색 엔진을 작성하고 있습니다. 비슷한 단어도 검색 대상에 포함하고 싶습니다. 예를 들어 사용자가 "투자"를 검색하면 검색은 "투자"에 대한 일치 항목을 반환하거나 사용자가 "금융"을 검색하면 검색도 반환됩니다 "금융"과 일치합니다.키워드에서 비슷한 단어를 검색하는 데 사용할 API가 있습니까?
검색 키워드에서 어떻게 비슷한 단어를 검색 할 수 있습니까?
달성하고자하는 것은 "줄기 제거"로 알려져 있습니다. 추가 정보를 원하시면 위키 백과 문서를 읽기 :
Select * from SomeTable
where FREETEXT(*,'invest')
위의 검색 모든 컬럼 : SQL Server를 사용하는 경우는 stemming을 지원하는 FREETEXT 검색, 활용할 수 있습니다
당신이 찾고있는 것은 stemming입니다. Lucene.net에서 사용할 수있는 항목을보고 싶을 수 있습니다. SQL Server가 전체 텍스트 인덱싱을 기본적으로 지원할 수도 있습니다. 사실 this article으로 주어진 것처럼 보입니다.
투자의 모든 형태의 투자. 다음과 같은 의미입니다.
Select * from SomeTable
where CONTAINS(*,'"invest" or "invests" or "investor"
or "investing'" or "invested" or "investor's" ...)
여기에 더 많은 예제와 설명서가 포함 된 MSDN article입니다.
또한 soundex 검색을 사용하면 유사한 발음을 찾을 수 있습니다. 이것은 SQL Server SOUNDEX() function에서 지원됩니다. .NET은 내장되어있는 것처럼 보이지 않지만 CodeProject는 several implementations입니다.