Skip to content

Instantly share code, notes, and snippets.

@naqi
Last active January 21, 2016 20:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save naqi/f8e74d586addf88badfd to your computer and use it in GitHub Desktop.
Save naqi/f8e74d586addf88badfd to your computer and use it in GitHub Desktop.
Highlight order and stripping elastic suffix
+ (NSString *) getSortHighlightedField:(NSArray *) fieldList{
NSArray *highlightOrder= @[
@"nickname",
@"skills",
@"interests",
@"group_names",
@"birth_date",
@"start_date",
@"start_date_year",
@"email",
@"phone",
@"bio",
@"group_names_coarse_edge_ngram",
@"email_coarse_edge_ngram",
@"skills_coarse_edge_ngram",
@"interests_coarse_edge_ngram",
@"group_names_fine_edge_ngram",
@"skills_fine_edge_ngram",
@"interests_fine_edge_ngram",
@"email_fine_edge_ngram",
@"phone_coarse_ngram",
@"phone_fine_ngram"];
NSArray *sortedArray = [fieldList sortedArrayUsingSelector:
@selector(localizedCaseInsensitiveCompare:)];
sortedArray = [sortedArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [@([highlightOrder indexOfObject:obj1]) compare:@([highlightOrder indexOfObject:obj2])];
}];
highlightOrder = nil;
return [sortedArray lastObject];
}
+ (NSString *) stripElasticSuffixFromString:(NSString *) string{
NSArray *suffixes = @[
@"_string",
@"_folded",
@"_coarse_edge_ngram",
@"_fine_edge_ngram",
@"_coarse_ngram",
@"_fine_ngram",
@"_coarse_edge_ngram_folded",
@"_fine_edge_ngram_folded",
@"_coarse_ngram_folded",
@"_fine_ngram_folded",
@"_month",
@"_year",
@"_raw",
@"::string",
@"::enum",
@"::phone",
@"::email",
@"::array",
@"::date",
@"::float",
@"::boolean",
@"::user",
@"::address"];
for (NSString *suffix in suffixes) {
string = [string stringByReplacingOccurrencesOfString:suffix withString:@""];
}
suffixes = nil;
return string;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment