Exemplo n.º 1
0
        public IEnumerable <SearchResult> Search(IPersonSearchRequest request)
        {
            var searchFields = ExtractSearchFields(request);
            var searchTokens = ExtractSearchTokens(request);

            return(_searchIndexBusiness.Search(_personSearchIndex, searchFields, searchTokens, request.TopResultCount, explain: request.Explain));
        }
Exemplo n.º 2
0
        private static IEnumerable <ISearchField> ExtractSearchFields(IPersonSearchRequest request)
        {
            yield return(new SearchField {
                FieldName = "WiseId", Value = Convert.ToString(request.WiseId)
            });

            yield return(new SearchField {
                FieldName = "LocalPersonId", Value = request.LocalPersonId
            });

            yield return(new SearchField {
                FieldName = "FirstName", Value = request.FirstName
            });

            yield return(new SearchField {
                FieldName = "MiddleName", Value = request.MiddleName
            });

            yield return(new SearchField {
                FieldName = "LastName", Value = request.LastName
            });

            yield return(new SearchField {
                FieldName = "BirthDate", Value = request.BirthDate.ToLuceneDateString()
            });

            yield return(new SearchField {
                FieldName = "Gender", Value = request.Gender
            });

            yield return(new SearchField {
                FieldName = "Suffix", Value = request.Suffix
            });

            yield return(new SearchField {
                FieldName = "EducatorNumber", Value = Convert.ToString(request.EducatorNumber)
            });
        }
Exemplo n.º 3
0
        private static IEnumerable <ISearchQueryParameterToken> ExtractSearchTokens(IPersonSearchRequest request)
        {
            yield return(new SearchQueryParameterToken {
                Name = "WiseIdExactMatchWeight", Value = Convert.ToString(request.WiseIdExactMatchWeight)
            });

            yield return(new SearchQueryParameterToken {
                Name = "WiseIdPartialMatchWeight", Value = Convert.ToString(request.WiseIdPartialMatchWeight)
            });

            yield return(new SearchQueryParameterToken {
                Name = "LocalRowKeyExactMatchWeight", Value = Convert.ToString(request.LocalRowKeyExactMatchWeight)
            });

            yield return(new SearchQueryParameterToken {
                Name = "MinimumFieldMatches", Value = Convert.ToString(request.MinimumFieldMatches)
            });

            yield return(new SearchQueryParameterToken {
                Name = "FirstNameWithSynonymsMatchWeight", Value = Convert.ToString(request.FirstNameWithSynonymsMatchWeight)
            });

            yield return(new SearchQueryParameterToken {
                Name = "FirstNameTolerance", Value = Convert.ToString(request.FirstNameTolerance)
            });

            yield return(new SearchQueryParameterToken {
                Name = "FirstNamePhoneticWeight", Value = Convert.ToString(request.FirstNamePhoneticWeight)
            });

            yield return(new SearchQueryParameterToken {
                Name = "MiddleNameWithSynonymsMatchWeight", Value = Convert.ToString(request.MiddleNameWithSynonymsMatchWeight)
            });

            yield return(new SearchQueryParameterToken {
                Name = "MiddleNameTolerance", Value = Convert.ToString(request.MiddleNameTolerance)
            });

            yield return(new SearchQueryParameterToken {
                Name = "MiddleNamePhoneticWeight", Value = Convert.ToString(request.MiddleNamePhoneticWeight)
            });

            yield return(new SearchQueryParameterToken {
                Name = "LastNameWithSynonymsMatchWeight", Value = Convert.ToString(request.LastNameWithSynonymsMatchWeight)
            });

            yield return(new SearchQueryParameterToken {
                Name = "LastNameTolerance", Value = Convert.ToString(request.LastNameTolerance)
            });

            yield return(new SearchQueryParameterToken {
                Name = "LastNamePhoneticWeight", Value = Convert.ToString(request.LastNamePhoneticWeight)
            });

            yield return(new SearchQueryParameterToken {
                Name = "BirthDateExactMatchWeight", Value = Convert.ToString(request.BirthDateExactMatchWeight)
            });

            yield return(new SearchQueryParameterToken {
                Name = "BirthDatePartialMatchWeight", Value = Convert.ToString(request.BirthDatePartialMatchWeight)
            });

            yield return(new SearchQueryParameterToken {
                Name = "GenderExactMatchWeight", Value = Convert.ToString(request.GenderExactMatchWeight)
            });

            yield return(new SearchQueryParameterToken {
                Name = "SuffixExactMatchWeight", Value = Convert.ToString(request.SuffixExactMatchWeight)
            });

            yield return(new SearchQueryParameterToken {
                Name = "EducatorNumberExactMatchWeight", Value = Convert.ToString(request.SuffixExactMatchWeight)
            });
        }