Class: MarkLogic::Queries::WordQuery
Instance Method Summary
collapse
Methods inherited from BaseQuery
#add_sub_query, #query_value
Constructor Details
#initialize(values, options = {}) ⇒ WordQuery
Returns a new instance of WordQuery.
4
5
6
7
8
9
|
# File 'lib/marklogic/queries/word_query.rb', line 4
def initialize(values, options = {})
@values = values
@options = options || {}
@weight = @options.delete(:weight) || 1.0
@options[:exact] = true if @options.length == 0
end
|
Instance Method Details
#options ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/marklogic/queries/word_query.rb', line 11
def options
opts = []
@options.each do |k, v|
dashed_key = k.to_s.gsub(/_/, '-')
case k.to_s
when "lang", "distance_weight", "min_occurs", "max_occurs", "lexicon_expand"
opts << %Q{"#{dashed_key}=#{v}"}
when /(case|diacritic|punctuation|whitespace)_sensitive/
opts << (v == true ? %Q{"#{$1}-sensitive"} : %Q{"#{$1}-insensitive"})
when "exact"
opts << %Q{"#{dashed_key}"}
when "stemmed", "wildcarded"
opts << (v == true ? %Q{"#{dashed_key}"} : %Q{"un#{dashed_key}"})
else
opts << %Q{"#{v}"}
end
end
opts
end
|
#to_xqy ⇒ Object
32
33
34
35
|
# File 'lib/marklogic/queries/word_query.rb', line 32
def to_xqy
values = query_value(@values)
%Q{cts:word-query((#{values}),(#{options.join(',')}),#{@weight})}
end
|