public QueryAutoCompleteResult AutoComplete(QueryAutoCompleteParameter param) { var result = new QueryAutoCompleteResult(); var segmentResult = SegmentWord(param); result.SegmentWords = segmentResult.Words; var repository = new SearchRepository(); result.ResultSet = repository.QueryAutoComplete(param, result.SegmentWords); return(result); }
public QueryAutoCompleteResult.TResult[] QueryAutoComplete(QueryAutoCompleteParameter param, string[] segmentWords) { param.Keyword = param.Keyword.Replace("'", string.Empty); using (var context = base.CreateContext()) { string componentName = param.ComponentKind.ToString(); var q = from t in context.ComponentInfoes where t.Name == componentName && t.spName != null select t; var comInfo = q.Single(); var rSet = _spContext.Query(comInfo.spName, new object[] { comInfo.RowID, param.Keyword, string.Join(" ", segmentWords) }); return(rSet.GetResult <QueryAutoCompleteResult.TResult>().ToArray()); } }