Class: Sunspot::FulltextField

Inherits:
Field
  • Object
show all
Defined in:
lib/sunspot/field.rb

Overview

FulltextField instances represent fields that are indexed as fulltext. These fields are tokenized in the index, and can have boost applied to them. They also always allow multiple values (since the only downside of allowing multiple values is that it prevents the field from being sortable, and sorting on tokenized fields is nonsensical anyway, there is no reason to do otherwise). FulltextField instances always have the type TextType.

Instance Attribute Summary collapse

Attributes inherited from Field

#attributes, #name, #reference, #type

Instance Method Summary collapse

Methods inherited from Field

#cast, #eql?, #hash, #multiple?, #to_indexed

Constructor Details

#initialize(name, options = {}) ⇒ FulltextField

Returns a new instance of FulltextField.

Raises:

  • (ArgumentError)


102
103
104
105
106
107
108
109
110
# File 'lib/sunspot/field.rb', line 102

def initialize(name, options = {})
  super(name, Type::TextType, options)
  @multiple = true
  if boost = options.delete(:boost)
    @attributes[:boost] = boost
  end
  @default_boost = options.delete(:default_boost)
  raise ArgumentError, "Unknown field option #{options.keys.first.inspect} provided for field #{name.inspect}" unless options.empty?
end

Instance Attribute Details

#boostObject (readonly)

:nodoc:



100
101
102
# File 'lib/sunspot/field.rb', line 100

def boost
  @boost
end

#default_boostObject (readonly)

:nodoc:



100
101
102
# File 'lib/sunspot/field.rb', line 100

def default_boost
  @default_boost
end

Instance Method Details

#indexed_nameObject



112
113
114
# File 'lib/sunspot/field.rb', line 112

def indexed_name
  "#{super}#{'s' if @stored}"
end