class Qiita::Elasticsearch::QueryBuilder
Public Class Methods
new(all_fields: nil, date_fields: nil, downcased_fields: nil, hierarchal_fields: nil, filterable_fields: nil, int_fields: nil, default_fields: nil, time_zone: nil, matchable_options: nil, field_mapping: nil)
click to toggle source
@param [Array<String>, nil] all_fields @param [Array<String>, nil] date_fields @param [Array<String>, nil] downcased_fields @param [Array<String>, nil] filterable_fields @param [Array<String>, nil] hierarchal_fields @param [Array<String>, nil] int_fields @param [Array<String>, nil] default_fields @param [String, nil] time_zone @param [Hash, nil] matchable_options @param [Hash, nil] field_mapping for field aliasing
# File lib/qiita/elasticsearch/query_builder.rb, line 18 def initialize(all_fields: nil, date_fields: nil, downcased_fields: nil, hierarchal_fields: nil, filterable_fields: nil, int_fields: nil, default_fields: nil, time_zone: nil, matchable_options: nil, field_mapping: nil) @all_fields = all_fields @date_fields = date_fields @downcased_fields = downcased_fields @filterable_fields = filterable_fields @hierarchal_fields = hierarchal_fields @int_fields = int_fields @default_fields = default_fields @time_zone = time_zone @matchable_options = matchable_options @field_mapping = field_mapping end
Public Instance Methods
build(query_string)
click to toggle source
@param [String] query_string Raw query string @return [Qiita::Elasticsearch::Query]
# File lib/qiita/elasticsearch/query_builder.rb, line 34 def build(query_string) Query.new( tokenizer.tokenize(query_string), downcased_fields: @downcased_fields, filterable_fields: @filterable_fields, hierarchal_fields: @hierarchal_fields, int_fields: @int_fields, default_fields: @default_fields, time_zone: @time_zone, ) end
Private Instance Methods
tokenizer()
click to toggle source
# File lib/qiita/elasticsearch/query_builder.rb, line 48 def tokenizer @tokenizer ||= Tokenizer.new( all_fields: @all_fields, date_fields: @date_fields, downcased_fields: @downcased_fields, filterable_fields: @filterable_fields, hierarchal_fields: @hierarchal_fields, int_fields: @int_fields, default_fields: @default_fields, time_zone: @time_zone, matchable_options: @matchable_options, field_mapping: @field_mapping ) end