2010-03-19 3 views
1

희망은 괜찮습니다. 나는 웹 프로젝트를 만들어야 만한다. (매우 간단하다.) 나는 2 개의 테이블을 가진 DB를 가질 것이다. 하나의 표에는 2 개의 필드가 있습니다. 웹 페이지에서 검색어와 비슷한 Google 검색어가 필요합니다. 예를 들어 표에 영화 제목과 영화 평론이 있습니다. 나는이 같은 사람들이 개 필드를 검색 할 수 있어야합니다 :C# - Google과 같은 쿼리 엔진 .-

"Best Movie" + Action 

나는 2 개 필드에서을 togheter "최고의 영화"문자열 플러스 옵션 액션 단어를 검색하기 위해 DB에 쿼리를 확인해야합니다 표.

나는 분명합니까? :)

누군가가이 이미 이루어진 경우 알고 않으면 키우면 공공 및 무료하고

편집 :) 얻을 여기서 내 우려하는 기호처럼 구글 번역하는 것입니다 ("", +, -, ~)를 사용하여 유효한 쿼리를 작성하십시오.

+0

입력 + 쿼리 + 출력 – thelost

답변

8

구글과 마찬가지로, 엔진이 information retrieval 인 것처럼 들립니다. 그것이 작동 SQL Server 전체 텍스트 인덱싱 같은 소리 무슨 일을

를 들면 : 당신은 고려할 필요가 있습니다 멋지게 - 더 복잡한 작업을 원할 경우 Lucene을 대신 사용하는 것이 좋습니다. 더 복잡하고 고유 한 인덱스를 만드는 방법에 대해 아는 것이 필요하지만 추가 컨트롤을 사용하면 멀리 수행 할 수 있습니다. 보다 정교한 검색.

SQL 서버 전체 텍스트 인덱싱에 대한 자세한 내용을 보려면 Google 검색을 수행하는 것이 가장 좋습니다. 얻을 도움이 될

이 문서에서는 시작 :

+0

의 명확한 예를 제공하십시오. AjmeraInfo의 솔루션은 훨씬 간단하고 트릭을 수행해야하지만, 더 큰 데이터베이스에서는 쿼리가 약간 느리다는 사실을 지적하십시오. – Justin

1

단지 먼저 다음 값을 전달 C#에서 문자열 조작에 필요한이

같은 쿼리를 사용합니다.

 
SELECT [Movie Title] FROM Movie_TABLE WHERE 
Movie_Review Like '%' + 'Best Movie' + '%' And Movie_Review Like '%' + 'Action' + '%' 

은 또는 당신은 또한 동적 실행을 위해 매개 변수를 전달할 수 있습니다

 

DECLARE @qu nvarchar(max) 

SET @qu = 'Query' 

Exec (@qu) 

동적 쿼리를 작성해야합니다.

관련 문제