2011-02-11 4 views
2

sqlite3.6.2 용 fts3 모듈을 컴파일했습니다. 어떻게 가상 테이블을 구축하고 존재하는 테이블의 일부 필드 (예 : 콘텐츠 : 트윗의 문자열)에서 검색을 수행합니까? ft3는 퍼지 검색을 지원합니까? (나는 문서를 확인했지만 여전히 끔찍하게 혼란스러워했다. ...).sqlite fts3을 사용하여 전체 텍스트 검색을 수행하는 방법

답변

2

두 개의 필드를 검색하는 것과 같은 간단한 작업을 수행 할 수 있습니다. 노조를 사용해야합니다.

string createSql = "CREATE VIRTUAL TABLE TweetFts USING FTS3(TweetId, Title, Description)"; 

string insertSql = "INSERT INTO TweetFts (TweetId, Title, Description) 
    SELECT TweetId, Title, Description FROM Tweet"; 

string sql = @"select TweetId from TweetFts where Title match '" + allWords + "'"; 
sql += " union "; 
sql += @"select TweetId from TweetFts where Description match '" + allWords + "'"; 
sql += " union "; 
sql += @"select TweetId from TweetFts where Title match '""" + exactMatch + @"""'"; 
sql += " union "; 
sql += @"select TweetId from TweetFts where Description match '""" + exactMatch + @"""'"; 

이 쿼리를 실행하면 일치하는 Tweet 목록이 있습니다.

*를 사용하여 접두사 검색 이외의 퍼지가 표시되지 않습니다.

soundex 기능이 있습니다.

+0

감사합니다. 이것은 내 질문을 해결합니다. :) – lkahtz

관련 문제