2012-10-22 2 views
1

WCF 4 응용 프로그램의 디자인을 고려 중입니다. .NET Framework 4.0 및 MySQL 데이터베이스를 사용하여 IIS6 및 Windows Server 2003에서 실행됩니다.WCF 4를 사용하여 전체 텍스트 검색을 구현하는 방법은 무엇입니까?

서비스에서 전체 텍스트 검색 기능을 허용해야하지만이 방법을 보여주는 리소스는 없습니다. GetData (234)와 같은 특정 데이터를 사용하여 결과를 반환하는 방법을 알아보고 ID가 234 인 레코드를 반환합니다. 그러나 임의의 기준에 대해 VarChar 또는 Text 열을 검색하려고한다고 가정합니다. "녹색 및 노란색"과 같이 텍스트 열에는 데이터에서이 두 가지 검색어가 포함될 수 있습니다. 아마 datetime으로 검색하기를 원할 것입니다. datetime이 2012 년 1 월 1 일 이전 일 때 모든 행에 텍스트가 녹색과 노란색으로 표시되고 ID = 234 등이 표시됩니다.

WCF는 결과 반환 방법에 대해 간단합니다. 모든 행에 대해 또는 지정된 열 값을 가진 행을 검색하지만 전체 텍스트 검색을 사용하여 행을 반환하는 위치가 표시되지 않습니다.

고급 검색 양식을 사용하여 행 목록을 반환하는 방법을 보여주는 링크를 알고있는 사람이 있습니까?

답변

1

WCF는 실제 전체 텍스트 검색 기능을 지원하지 않습니다. 물론 페이징 검색, 유용한 DataContracts 반환 등을 허용하는 계약을 설계해야하지만 어려운 부분은 다른 곳에 있습니다.

당신은 당신이 필요로 실제 전체 텍스트 기능에 대한 특정되지 않았지만 갈 적어도 두 가지 방법이 있습니다 :

  • 사용 MySQL Full-Text Search capabilities은. 서비스 연산의 검색 매개 변수에 따라 적절한 테이블에서 행을 반환하는 MySQL 쿼리를 실행합니다. 귀하의 서비스는 해당 결과 (도메인 객체, poco 등)를 반환 할 수 있습니다.
  • SOLR/Lucene을 MySQL 데이터베이스와 함께 사용하십시오. (question on which one to use)

요약하면 : 서비스에는 전체 텍스트 검색 기능이 없으므로 이러한 기능에 대한 게이트웨이 일뿐입니다.

+0

감사합니다. 이 대답은 나를 도와줍니다. WCF가 전체 텍스트 검색을 도와 줄 수 있는지 이해할 필요가있었습니다. 나는 그것이 가능할 것이라고 생각하지 않았다. 필자의 경우 MySQL 전체 텍스트 인덱싱이이를 처리하는 방법이며 매개 변수를 사용하여 SELECT 문을 생성하는 것을 이해합니다. – rwkiii

관련 문제