2010-12-07 4 views
2

나는 몇 가지 기능을 구현해야하는 검색 기능을 구축 중입니다.ASP.NET의 검색을위한 맞춤법 검사기

1- 모든 동의어를 가져와야합니다. 예를 들어 누군가가 소파를 검색하는 경우 해당 소파에 맞는 결과 (소파, 쿠션 등)를 더하여 가져와야합니다. 이를 위해 전체 텍스트 검색을 사용하고 있습니다.

필자는 FreeText를 사용하지만 필요한 결과를 산출하지 않습니다. 즉, 내가 무엇을

select * from Furn_Products Where FreeText(FurnName, 'Couch'); 

그것은 물론 오프 쿠션, 소파와 소파를 포함하는 이름을 가지고해야하지만, 그것은 단지 내가 단순처럼 쿼리에 의해 할 수있는 소파와 이름을 제공합니다. 어떤 해결책?

누군가 유형 soofa 경우가 소파에 대한 결과를 초래한다처럼 오타를 확인하기 위해 필요한 2, 소파 등

모든 팁을에 아이디어를 어떻게 이것을 달성하기 위해? 미리 감사드립니다.

답변

0

내가 아는 한 전체 텍스트 검색은 가능한 모든 단어 (형태소 분석 등)에 대한 액세스를 제공하지 않습니다. 그러나 SQL Server 2008부터 모든 인덱싱 된 단어의 목록을 얻을 수 있습니다.

더 많은 기능을 사용하려면 아마도 Lucene과 같은 타사 인덱서를 사용해야 할 것입니다.

1

Nelson에 동의합니다. 이미 많은 오픈 소스 검색 엔진이 있으며, 많은 디버깅을 수행했습니다. 가장 큰 것들은 Lucene/Solr, Sphinx, Xapian입니다.

또한 동의어 확장을 추가 할 때주의하십시오. 예를 들어 외륜을으로 확장하면 박쥐으로 변경하면 원하지 않는 많은 동물 학적 결과가 발생할 수 있습니다. 자동화 된 쿼리를 수행하는 경우. 몇 가지 예를 찾고 모서리 케이스로 테스트 스위트를 설정하십시오. 사용자가있을 것으로 예상되는 경우 테스트 스위트를 구축하는 데 도움이되는 프로세스를 안내 할 커플을 찾고 검색 로그와 매우 친숙해질 계획입니다. 행운을 빌어 요!