diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2019-07-27 04:42:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-27 04:42:08 +0200 |
commit | b9fbcbfe4e0a15fcf8a457ce17ea080f0eb939fc (patch) | |
tree | 03332ded5e52a9cdb099dec8286ab7ac36d67c02 /app/services | |
parent | 501148ab912b3bd36dbf0f9f2e10bfde7787012d (diff) |
Add search syntax for operators and phrases (#11411)
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/search_service.rb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/app/services/search_service.rb b/app/services/search_service.rb index e0da61dac..769d1ac7a 100644 --- a/app/services/search_service.rb +++ b/app/services/search_service.rb @@ -33,8 +33,7 @@ class SearchService < BaseService end def perform_statuses_search! - definition = StatusesIndex.filter(term: { searchable_by: @account.id }) - .query(multi_match: { type: 'most_fields', query: @query, operator: 'and', fields: %w(text text.stemmed) }) + definition = parsed_query.apply(StatusesIndex.filter(term: { searchable_by: @account.id })) if @options[:account_id].present? definition = definition.filter(term: { account_id: @options[:account_id] }) @@ -70,7 +69,7 @@ class SearchService < BaseService end def url_query? - @options[:type].blank? && @query =~ /\Ahttps?:\/\// + @resolve && @options[:type].blank? && @query =~ /\Ahttps?:\/\// end def url_resource_results @@ -120,4 +119,8 @@ class SearchService < BaseService domain_blocking_by_domain: Account.domain_blocking_map_by_domain(domains, account.id), } end + + def parsed_query + SearchQueryTransformer.new.apply(SearchQueryParser.new.parse(@query)) + end end |