rdav00 writes

Gnumeric is a OSS spreadsheet ap and it saves files with a .gnumeric suffix. http://projects.gnome.org/gnumeric/. Recollindex can’t seem to index it. A test file with dummy data is attached: test.gnumeric .

recoll.conf settings

topdirs = /home

# verbose logging loglevel = 6

logfilename = /tmp/recoll.log

daemloglevel = 3

daemlogfilename = /tmp/recolldaemon.log

skippedNames = #* ~ .beagle .bzr .git .hg .recoll .svn .thumbnails .xsess\ ion-errors CVS Cache bin cache* caughtspam loop.ps recoll.co\ nf recollrc tmp xapiandb .gz*

log created

$ recollindex -i /home/rd/test/test.gnumeric

:5:../index/fsindexer.cpp:266:FsIndexer::localfieldsfromconf :5:../common/rclconfig.cpp:370:RclConfig::addLocalFields: keydir [/home/rd/test/] :4:../rcldb/rcldb.cpp:1361:Db::needUpdate:no: [Q/home/rd/test/test.gnumeric|] :5:../rcldb/rcldb.cpp:183:Db::Native::subDocs: returning 0 ids :5:../index/fsindexer.cpp:347:processone: up to date: /home/rd/test/test.gnumeric :4:../rcldb/rcldb.cpp:696:Db::i_close(0): m_isopen 1 m_iswritable 1 :4:../rcldb/rcldb.cpp:706:Rcl::Db:close: xapian will close. May take some time :4:../rcldb/rcldb.cpp:711:Rcl::Db:close() xapian close done. :4:../internfile/mimehandler.cpp:96:clearMimeHandlerCache() :4:../rcldb/rcldb.cpp:581:Db::~Db: isopen 0 m_iswritable 0 :4:../rcldb/rcldb.cpp:696:Db::i_close(1): m_isopen 0 m_iswritable 0

rdav00 writes

if it helps: .gnumeric is a gzipped xml file

medoc writes

I added a filter for gnumeric files. The easiest way to add it without waiting for the next release will be to go to http://www.recoll.org/filters.html and follow the instructions there. Cheers,


rdav00 writes

wow thanks! recoll can now tell gnumeric to open the gnumeric files it has indexed with recoll, but it can’t find the gnumeric files with the search terms I used, eg, using test.gnumeric, it can’t find the terms I put into the spreadsheet, test.gnumeric, however it can tell its a spreadsheet and can tell gnumeric to open it when I use the term"gnumeric" in the filenane search hope that helps!

rdav00 writes

BTW, I followed the steps outlined here: http://www.lesbonscomptes.com/recoll/filters/filters.html the link you posted was broken

medoc writes

Sorry about the bad link.

Please follow the instructions in the "Obtaining information from the log file" section of the following page to obtain a debug trace of what happens: https://bitbucket.org/medoc/recoll/wiki/GettingAStackTrace

You can use the approach from the "Single file indexing issue" section to make things easier.

Actually, the first thing to do would be to try the filter "by hand" and see what happens. This should output an html document: /usr/share/recoll/filters/rclgnm test.gnumeric

Then please forward the results or the log file to me or attach it to a reply here.

Thanks, jf

rdav00 writes

I followed the instructions for the log file on a single file ran this command:

$ recollindex -i /home/rd/test/test.gnumeric

both the output and the test.gnumeric file are attached. The test files has added unique words added to it. Recoll could not find "polydextrose" in the test.gnumeric


the output

:5:../index/fsindexer.cpp:266:FsIndexer::localfieldsfromconf :5:../common/rclconfig.cpp:370:RclConfig::addLocalFields: keydir [/home/rd/test/] :4:../rcldb/rcldb.cpp:1356:Db::needUpdate:yes: olsig [38091327531906+] new [38041327533253] [Q/home/rd/test/test.gnumeric|] :5:../index/fsindexer.cpp:359:processone: processing: [3 KB ] /home/rd/test/test.gnumeric :4:../internfile/internfile.cpp:229:FileInterner:: [/home/rd/test/test.gnumeric] mime [(null)] preview 0 :4:../internfile/mimehandler.cpp:204:getMimeHandler: mtype [application/x-gnumeric] filtertypes 1 :5:../internfile/mimehandler.cpp:53:getMimeHandlerFromCache: application/x-gnumeric :4:../internfile/internfile.cpp:303:FileInterner:: init ok application/x-gnumeric [/home/rd/test/test.gnumeric] :4:../internfile/internfile.cpp:779:FileInterner::internfile. ipath [] :4:../utils/execmd.cpp:185:ExecCmd::startExec: (0|1) rclgnm {/home/rd/test/test.gnumeric} :5:../utils/netcon.cpp:242:Netcon::selectloop: fd 16 has 0x0 mask, erasing :5:../utils/execmd.cpp:367:ExecCmd::doexec: selectloop returned 0 :4:../utils/execmd.cpp:467:ExecCmd::wait: got status 0x7f00 :2:../internfile/mh_exec.cpp:116:MimeHandlerExec: command status 0x7f00 for rclgnm :2:../internfile/internfile.cpp:774:FileInterner::internfile: next_document error [/home/rd/test/test.gnumeric] application/x-gnumeric RECFILTERROR HELPERNOTFOUND rclgnm :4:../internfile/internfile.cpp:894:FileInterner::internfile: conversion ended with no doc :4:../rcldb/rcldb.cpp:1016:Db::add: udi [/home/rd/test/test.gnumeric|] parent [] :5:../rcldb/rcldb.cpp:1264:Rcl::Db::add: new doc record: url=file:///home/rd/test/test.gnumeric mtype=application/x-gnumeric fmtime=01327533253 origcharset= fbytes=3804 sig=38041327533253+ dbytes=0 caption=test.gnumeric filename=test.gnumeric

:4:../rcldb/rcldb.cpp:711:Rcl::Db:close() xapian close done. :4:../internfile/mimehandler.cpp:96:clearMimeHandlerCache() :4:../rcldb/rcldb.cpp:581:Db::~Db: isopen 0 m_iswritable 0 :4:../rcldb/rcldb.cpp:696:Db::i_close(1): m_isopen 0 m_iswritable 0

medoc writes


The answer is probably here: {{{ :4:../utils/execmd.cpp:185:ExecCmd::startExec: (0|1) rclgnm {/home/rd/test/test.gnumeric} :5:../utils/netcon.cpp:242:Netcon::selectloop: fd 16 has 0x0 mask, erasing :5:../utils/execmd.cpp:367:ExecCmd::doexec: selectloop returned 0 :4:../utils/execmd.cpp:467:ExecCmd::wait: got status 0x7f00 }}}

rclgnm is either not present in /usr/share/recoll/filters or not executable. Try by hand {{{/usr/share/recoll/filters/rclgnm mytest.gnumeric}}} and see what it says. If it’s not executable, make it so: {{{chmod a+x /usr/share/recoll/filters/rclgnm}}}

The test file was not attached, but it’s not the issue for now anyway.

Cheers, jf

rdav00 writes

Making the script executable did it! and now Recoll searches the .gnumeric files!

realising I missed the bit in instuctions: Please check that the script is executable after copying it, and make it so if needed (chmod a+x scriptname)