2012-06-25 5 views
1

현재 매우 이상한 문제가 있습니다. 이제Sharepoint 2010 FullTextSQLQuery가 모든 결과를 반환하지 않습니다.

string queryText = string.Format("SELECT Path, TelefoneContacto, EmpresaContacto, DireccaoContacto, MailContacto, TelemovelContacto, NomeContacto FROM scope() WHERE FREETEXT(NomeContacto, '{0}') AND (CONTAINS(Path,'/Contactos/Pages/')) ORDER BY \"NomeContacto\" ASC", keyword); 
FullTextSqlQuery query = new FullTextSqlQuery(site); 
query.ResultTypes = ResultType.RelevantResults; 
query.EnableStemming = true; 
query.TrimDuplicates = true;//alterado 4 Junho 2012 
query.Hint = QueryHint.OptimizeWithPropertyStore; 
query.KeywordInclusion = KeywordInclusion.AllKeywords; 
query.Culture = SPContext.Current.Web.Locale; 
query.RowLimit = 200; 
query.QueryText = queryText; 

, 예 :

내가 사용하고 쿼리입니다.

내가 검색하는 열은 "NomeContacto"입니다. NomeContacto = "Rodrigo José Amaral Costa Nunes"인 사람을 찾고 있다고 상상해보십시오. "Costa"를 검색하면 38 개의 결과가 반환되지만 위의 결과는 없습니다.

그러나 키워드가 "Rodrigo Costa"인 경우 유일한 결과 (위)가 위의 사람입니다.

여기에 대한 설명이 있습니까?

답변

0

당신은 localizaed 검색에 대한 내용 FREETEXT 조건에 당신을 위해 here

1

감사를

CONTAINS | FREETEXT 
([<column_identifier>,]'<content_search_condition>' [,LCID]) 

더 많은 정보를 로케일을 지정하기 위해 시도 할 수 있습니다,하지만 난 그것을 해결.

는 문제가 발생 된

query.TrimDuplicates = true; 

라인이라고 밝혀졌습니다. 나는 그것을 진실에서 거짓으로 바꿨고 이제는 "코스타"검색에서 10 가지 더 많은 결과를 반환합니다.

그러나 이것은 의미가 없습니다. TrimDuplicates는 값이 중복 된 경우, 완전히 다른 페이지의 결과를 제한하는 이유는 무엇입니까?

아무튼 고마워요

관련 문제