Class: Qiita::Elasticsearch::QueryBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/qiita/elasticsearch/query_builder.rb

Instance Method Summary collapse

Constructor Details

#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) ⇒ QueryBuilder

Returns a new instance of QueryBuilder.

Parameters:

  • all_fields (Array<String>, nil) (defaults to: nil)
  • date_fields (Array<String>, nil) (defaults to: nil)
  • downcased_fields (Array<String>, nil) (defaults to: nil)
  • filterable_fields (Array<String>, nil) (defaults to: nil)
  • hierarchal_fields (Array<String>, nil) (defaults to: nil)
  • int_fields (Array<String>, nil) (defaults to: nil)
  • default_fields (Array<String>, nil) (defaults to: nil)
  • time_zone (String, nil) (defaults to: nil)
  • matchable_options (Hash, nil) (defaults to: nil)
  • field_mapping (Hash, nil) (defaults to: nil)

    for field aliasing



18
19
20
21
22
23
24
25
26
27
28
29
30
# 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

Instance Method Details

#build(query_string) ⇒ Qiita::Elasticsearch::Query

Parameters:

  • query_string (String)

    Raw query string

Returns:



34
35
36
37
38
39
40
41
42
43
44
# 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