我目前有一个非常奇怪的问题。
这是我正在使用的查询:
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”,那么唯一的结果(正确)就是上面的人。
甚至对此有解释吗?