Hello ferret users,
I have a problem with ferret dropping stored fields in the index.
Not all fields I want to store get stored, so they can be searched, but 
can''t be retrieved in a search.
Index creation:
INDEX = Index::Index.new(:path =>
''/home/gregor/wisa/index'',
                         :analyzer => Analysis::WhiteSpaceAnalyzer.new)
SR = Index::IndexSearcher(:path =>
''/home/gregor/wisa/index'',
                          :analyzer => Analysis::WhiteSpaceAnalyzer.new)
Storing:
  # initial creation of a lucene index
  def create_index
    # our central INDEX
    index = FerretConfig::INDEX
    # get all Companies, iterate over and index them
    companies = Company.find(:all)
    for company in companies
      doc = Document.new
      doc << Field.new("id",   company.id,          
Field::Store::YES,
Field::Index::UNTOKENIZED)
      doc << Field.new("country", 
company.company_group.address.country.name, Field::Store::YES, 
Field::Index::UNTOKENIZED)
      doc << Field.new("name", company.name,        
Field::Store::YES,
Field::Index::UNTOKENIZED)
      doc << Field.new("zip",  company.address.zip, 
Field::Store::YES,
Field::Index::UNTOKENIZED)
      doc << Field.new("city", company.address.city,
Field::Store::YES,
Field::Index::UNTOKENIZED)
      doc << Field.new("street", company.address.street, 
Field::Store::YES, Field::Index::TOKENIZED)
      doc << Field.new("sectorid", company.sector_id,
Field::Store::NO,
Field::Index::UNTOKENIZED)
      doc << Field.new("parentsectorid",
(company.sector.parent_id ||
""), Field::Store::NO, Field::Index::UNTOKENIZED)
      doc << Field.new("sector", company.sector.name,
Field::Store::YES,
Field::Index::UNTOKENIZED)
      doc << Field.new("parentsector", 
company.sector.breadcrumb.first.name, Field::Store::YES, 
Field::Index::UNTOKENIZED)
      doc << Field.new("districtid", company.district_id, 
Field::Store::NO, Field::Index::UNTOKENIZED)
      doc << Field.new("district", company.district.name, 
Field::Store::YES, Field::Index::UNTOKENIZED)
      doc << Field.new("sales",
sprintf(''%010.4f'', company.sales),
Field::Store::YES, Field::Index::UNTOKENIZED)
      doc << Field.new("employees",
sprintf(''%010d'', company.employees),
Field::Store::YES, Field::Index::UNTOKENIZED)
      doc << Field.new("codesector", company.code_sector.code, 
Field::Store::YES, Field::Index::UNTOKENIZED)
      doc << Field.new("codesectorparent",
company.code_sector.parent,
Field::Store::NO, Field::Index::UNTOKENIZED)
      doc << Field.new("codesectorname",
company.code_sector.name,
Field::Store::YES, Field::Index::UNTOKENIZED)
      doc << Field.new("cooperation",
company.cooperation.to_i.to_s,
Field::Store::YES, Field::Index::UNTOKENIZED)
      doc << Field.new("lastname", company.contact.lastname, 
Field::Store::YES, Field::Index::UNTOKENIZED)
      doc << Field.new("firstname", company.contact.firstname, 
Field::Store::YES, Field::Index::UNTOKENIZED)
      doc << Field.new("position", company.contact.position, 
Field::Store::YES, Field::Index::UNTOKENIZED)
      doc << Field.new("title", company.contact.title, 
Field::Store::YES, Field::Index::UNTOKENIZED)
      doc << Field.new("salutation", company.contact.salutation,
Field::Store::YES, Field::Index::UNTOKENIZED)
      doc << Field.new("mail", company.contact.mail,
Field::Store::YES,
Field::Index::UNTOKENIZED)
      doc << Field.new("fax", company.fax, Field::Store::YES, 
Field::Index::UNTOKENIZED)
      doc << Field.new("phone", company.phone,
Field::Store::YES,
Field::Index::UNTOKENIZED)
      doc << Field.new("url", company.url, Field::Store::YES, 
Field::Index::UNTOKENIZED)
      doc << Field.new("comments", company.comments,
Field::Store::YES,
Field::Index::TOKENIZED)
      doc << Field.new("products", company.products,
Field::Store::YES,
Field::Index::TOKENIZED)
      doc << Field.new("state", company.state.name,
Field::Store::YES,
Field::Index::UNTOKENIZED)
      doc << Field.new("investorname",
company.company_group.name,
Field::Store::YES, Field::Index::UNTOKENIZED)
      doc << Field.new("investorcity", 
company.company_group.address.city, Field::Store::YES, 
Field::Index::UNTOKENIZED)
      doc << Field.new("investorstreet", 
company.company_group.address.street, Field::Store::YES, 
Field::Index::TOKENIZED)
      doc << Field.new("investorzip",
company.company_group.address.zip,
Field::Store::YES, Field::Index::UNTOKENIZED)
      index << doc
      logger.info "URL: " + doc["url"] # gets url, so doc is
ok
    end
    # don''t close the index, but be sure to write it to the fs
    index.optimize()
    logger.info "URL 1: " + index[0]["url"] # passed, prints
out
correctly
    logger.info "URL 2: " + index[1]["url"] # passed, prints
out
correctly
    redirect_to(:action => ''new_index'')
  end
Searching:
    if (@conditions != conditions)
      @records = Array.new
      sr = FerretConfig::SR
      sr.reader = 
Index::IndexReader.open(Store::FSDirectory.get_directory("/home/gregor/wisa/index"))
      qp = Ferret::QueryParser.new("id", { :analyzer => 
Ferret::Analysis::WhiteSpaceAnalyzer.new(),
                              :wild_lower => false})
      @records = sr.search(qp.parse(conditions))
    end
Search results are correct, but many fields are missing and can''t be 
accessed. The only fields in the results are
city, name, zip, country, mail, firstname, lastname, id, phone, fax, 
street, sector, parentsector
All others are missing....
Hope someone can help me soon, this is getting me crazy.. :-/
Best regards
Gregor
-- 
Posted via http://www.ruby-forum.com/.