Class: Riddle::Configuration::Index

Inherits:
Section
  • Object
show all
Defined in:
lib/riddle/configuration/index.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, *sources) ⇒ Index

Returns a new instance of Index.



33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/riddle/configuration/index.rb', line 33

def initialize(name, *sources)
  @name                     = name
  @sources                  = sources
  @morphologies             = []
  @stopword_files           = []
  @wordform_files           = []
  @exception_files          = []
  @ignore_characters        = []
  @prefix_field_names       = []
  @infix_field_names        = []
  @ngram_characters         = []
  @phrase_boundaries        = []
  @html_remove_element_tags = []
end

Instance Attribute Details

#blend_charsObject

Returns the value of attribute blend_chars.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def blend_chars
  @blend_chars
end

#blend_modeObject

Returns the value of attribute blend_mode.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def blend_mode
  @blend_mode
end

#charset_dictpathObject

Returns the value of attribute charset_dictpath.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def charset_dictpath
  @charset_dictpath
end

#charset_tableObject

Returns the value of attribute charset_table.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def charset_table
  @charset_table
end

#charset_typeObject

Returns the value of attribute charset_type.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def charset_type
  @charset_type
end

#dictObject

Returns the value of attribute dict.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def dict
  @dict
end

#docinfoObject

Returns the value of attribute docinfo.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def docinfo
  @docinfo
end

#enable_starObject

Returns the value of attribute enable_star.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def enable_star
  @enable_star
end

#exception_filesObject

Returns the value of attribute exception_files.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def exception_files
  @exception_files
end

#expand_keywordsObject

Returns the value of attribute expand_keywords.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def expand_keywords
  @expand_keywords
end

#hitless_wordsObject

Returns the value of attribute hitless_words.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def hitless_words
  @hitless_words
end

#html_index_attrsObject

Returns the value of attribute html_index_attrs.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def html_index_attrs
  @html_index_attrs
end

#html_remove_element_tagsObject

Returns the value of attribute html_remove_element_tags.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def html_remove_element_tags
  @html_remove_element_tags
end

#html_stripObject

Returns the value of attribute html_strip.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def html_strip
  @html_strip
end

#ignore_charactersObject

Returns the value of attribute ignore_characters.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def ignore_characters
  @ignore_characters
end

#index_exact_wordsObject

Returns the value of attribute index_exact_words.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def index_exact_words
  @index_exact_words
end

#index_spObject

Returns the value of attribute index_sp.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def index_sp
  @index_sp
end

#index_zonesObject

Returns the value of attribute index_zones.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def index_zones
  @index_zones
end

#infix_field_namesObject

Returns the value of attribute infix_field_names.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def infix_field_names
  @infix_field_names
end

#inplace_docinfo_gapObject

Returns the value of attribute inplace_docinfo_gap.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def inplace_docinfo_gap
  @inplace_docinfo_gap
end

#inplace_enableObject

Returns the value of attribute inplace_enable.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def inplace_enable
  @inplace_enable
end

#inplace_hit_gapObject

Returns the value of attribute inplace_hit_gap.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def inplace_hit_gap
  @inplace_hit_gap
end

#inplace_reloc_factorObject

Returns the value of attribute inplace_reloc_factor.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def inplace_reloc_factor
  @inplace_reloc_factor
end

#inplace_write_factorObject

Returns the value of attribute inplace_write_factor.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def inplace_write_factor
  @inplace_write_factor
end

#min_infix_lenObject

Returns the value of attribute min_infix_len.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def min_infix_len
  @min_infix_len
end

#min_prefix_lenObject

Returns the value of attribute min_prefix_len.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def min_prefix_len
  @min_prefix_len
end

#min_stemming_lenObject

Returns the value of attribute min_stemming_len.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def min_stemming_len
  @min_stemming_len
end

#min_word_lenObject

Returns the value of attribute min_word_len.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def min_word_len
  @min_word_len
end

#mlockObject

Returns the value of attribute mlock.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def mlock
  @mlock
end

#morphologiesObject

Returns the value of attribute morphologies.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def morphologies
  @morphologies
end

#nameObject

Returns the value of attribute name.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def name
  @name
end

#ngram_charactersObject

Returns the value of attribute ngram_characters.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def ngram_characters
  @ngram_characters
end

#ngram_lenObject

Returns the value of attribute ngram_len.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def ngram_len
  @ngram_len
end

#ondisk_dictObject

Returns the value of attribute ondisk_dict.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def ondisk_dict
  @ondisk_dict
end

#overshort_stepObject

Returns the value of attribute overshort_step.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def overshort_step
  @overshort_step
end

#parentObject

Returns the value of attribute parent.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def parent
  @parent
end

#pathObject

Returns the value of attribute path.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def path
  @path
end

#phrase_boundariesObject

Returns the value of attribute phrase_boundaries.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def phrase_boundaries
  @phrase_boundaries
end

#phrase_boundary_stepObject

Returns the value of attribute phrase_boundary_step.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def phrase_boundary_step
  @phrase_boundary_step
end

#prefix_field_namesObject

Returns the value of attribute prefix_field_names.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def prefix_field_names
  @prefix_field_names
end

#preopenObject

Returns the value of attribute preopen.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def preopen
  @preopen
end

#sourcesObject

Returns the value of attribute sources.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def sources
  @sources
end

#stopword_filesObject

Returns the value of attribute stopword_files.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def stopword_files
  @stopword_files
end

#stopwords_stepObject

Returns the value of attribute stopwords_step.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def stopwords_step
  @stopwords_step
end

#typeObject

Returns the value of attribute type.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def type
  @type
end

#wordform_filesObject

Returns the value of attribute wordform_files.



20
21
22
# File 'lib/riddle/configuration/index.rb', line 20

def wordform_files
  @wordform_files
end

Class Method Details

.settingsObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/riddle/configuration/index.rb', line 4

def self.settings
  [
    :type, :source, :path, :docinfo, :mlock, :morphology,
    :dict, :index_sp, :index_zones, :min_stemming_len, :stopwords,
    :wordforms, :exceptions, :min_word_len, :charset_dictpath,
    :charset_type, :charset_table, :ignore_chars, :min_prefix_len,
    :min_infix_len, :prefix_fields, :infix_fields, :enable_star,
    :expand_keywords, :ngram_len, :ngram_chars, :phrase_boundary,
    :phrase_boundary_step, :blend_chars, :blend_mode, :html_strip,
    :html_index_attrs, :html_remove_elements, :preopen, :ondisk_dict,
    :inplace_enable, :inplace_hit_gap, :inplace_docinfo_gap,
    :inplace_reloc_factor, :inplace_write_factor, :index_exact_words,
    :overshort_step, :stopwords_step, :hitless_words
  ]
end

Instance Method Details

#exceptionsObject



76
77
78
# File 'lib/riddle/configuration/index.rb', line 76

def exceptions
  nil_join @exception_files, " "
end

#exceptions=(exceptions) ⇒ Object



80
81
82
# File 'lib/riddle/configuration/index.rb', line 80

def exceptions=(exceptions)
  @exception_files = nil_split exceptions, ' '
end

#html_remove_elementsObject



116
117
118
# File 'lib/riddle/configuration/index.rb', line 116

def html_remove_elements
  nil_join @html_remove_element_tags, ", "
end

#html_remove_elements=(html_remove_elements) ⇒ Object



120
121
122
# File 'lib/riddle/configuration/index.rb', line 120

def html_remove_elements=(html_remove_elements)
  @html_remove_element_tags = nil_split html_remove_elements, /,\s?/
end

#ignore_charsObject



84
85
86
# File 'lib/riddle/configuration/index.rb', line 84

def ignore_chars
  nil_join @ignore_characters, ", "
end

#ignore_chars=(ignore_chars) ⇒ Object



88
89
90
# File 'lib/riddle/configuration/index.rb', line 88

def ignore_chars=(ignore_chars)
  @ignore_characters = nil_split ignore_chars, /,\s?/
end

#infix_fieldsObject



96
97
98
# File 'lib/riddle/configuration/index.rb', line 96

def infix_fields
  nil_join @infix_field_names, ", "
end

#morphologyObject



52
53
54
# File 'lib/riddle/configuration/index.rb', line 52

def morphology
  nil_join @morphologies, ", "
end

#morphology=(morphology) ⇒ Object



56
57
58
# File 'lib/riddle/configuration/index.rb', line 56

def morphology=(morphology)
  @morphologies = nil_split morphology, /,\s?/
end

#ngram_charsObject



100
101
102
# File 'lib/riddle/configuration/index.rb', line 100

def ngram_chars
  nil_join @ngram_characters, ", "
end

#ngram_chars=(ngram_chars) ⇒ Object



104
105
106
# File 'lib/riddle/configuration/index.rb', line 104

def ngram_chars=(ngram_chars)
  @ngram_characters = nil_split ngram_chars, /,\s?/
end

#phrase_boundaryObject



108
109
110
# File 'lib/riddle/configuration/index.rb', line 108

def phrase_boundary
  nil_join @phrase_boundaries, ", "
end

#phrase_boundary=(phrase_boundary) ⇒ Object



112
113
114
# File 'lib/riddle/configuration/index.rb', line 112

def phrase_boundary=(phrase_boundary)
  @phrase_boundaries = nil_split phrase_boundary, /,\s?/
end

#prefix_fieldsObject



92
93
94
# File 'lib/riddle/configuration/index.rb', line 92

def prefix_fields
  nil_join @prefix_field_names, ", "
end

#renderObject

Raises:



124
125
126
127
128
129
130
131
132
133
134
135
# File 'lib/riddle/configuration/index.rb', line 124

def render
  raise ConfigurationError, "#{@name} #{@sources.inspect} #{@path} #{@parent}" unless valid?
  
  inherited_name = "#{name}"
  inherited_name << " : #{parent}" if parent
  (
    @sources.collect { |s| s.render } +
    ["index #{inherited_name}", "{"] +
    settings_body +
    ["}", ""]
  ).join("\n")
end

#sourceObject



48
49
50
# File 'lib/riddle/configuration/index.rb', line 48

def source
  @sources.collect { |s| s.name }
end

#stopwordsObject



60
61
62
# File 'lib/riddle/configuration/index.rb', line 60

def stopwords
  nil_join @stopword_files, " "
end

#stopwords=(stopwords) ⇒ Object



64
65
66
# File 'lib/riddle/configuration/index.rb', line 64

def stopwords=(stopwords)
  @stopword_files = nil_split stopwords, ' '
end

#valid?Boolean

Returns:

  • (Boolean)


137
138
139
# File 'lib/riddle/configuration/index.rb', line 137

def valid?
  (!@name.nil?) && (!( @sources.length == 0 || @path.nil? ) || !@parent.nil?)
end

#wordformsObject



68
69
70
# File 'lib/riddle/configuration/index.rb', line 68

def wordforms
  nil_join @wordform_files, " "
end

#wordforms=(wordforms) ⇒ Object



72
73
74
# File 'lib/riddle/configuration/index.rb', line 72

def wordforms=(wordforms)
  @wordform_files = nil_split wordforms, ' '
end