
Source (link to git-repo or to original if based on someone elses unmodified work):
Here are the main features of Strigi:
very fast crawling
very small memory footprint
no hammering of the system
pluggable backend, currently clucene and hyperestraier, sqlite3 and xapian are in the works
communication between daemon and search program over an abstract interface with two implementations: DBus and a simple unix socket. Especially the DBus interface makes it very easy to write client applications. There are a few sample scripts in the code using Perl, Python, GTK and Qt. Writing clients is so easy that any Gnome or KDE app could implement this.
Aditionally, there is a simple interface for implementing plugins for extracting information. We'll try to reuse the kat plugins, although native plugins will have a large speed advantage.
Strigi also has calculation of sha1 for every file crawled which allows for fast finding of duplicate files.
0.6.4
- Path fixes to the build system the benefit of windows users (sengels)
- Clean up of class ArchiveReader
- Support for LZMA compressed streams in archives, notably .deb and .rpm
- Remove preceding ./ from file path in tar archives.
- Make parsing ar and deb files easier to abort: useful in e.g. Dolphin
- Better method of removing deleted file from the CLucene
- Do not tokenize the URL in the index to improve polling speed
- Fix the bz2 header check: more bz2 archives are recognized (pino)
- Fix infinite loop on parsing SGI image files
- Fix reading of zip files without central directory.
Ratings & Comments
126 Comments
I have a very serious problem. If I add a new file into an indexed folder then strigi reindex all files in the folder. During the reindexation process there is no way to search old indexed files (in that folder). This should be a bug or a very very annoying feature. Regards snvv
I am confused: Please will someone explain what each of the following does and how each relates to the others. Strigi-Client: Strigi-Server: Soprano: CLucene: Sesame: Redland: Nepomuk: I have an idea about some of them but a single clear sentence saying what it does would be great! All I can find on Google is tech-talk. There's precious little that would be adequate for a use case description or user story: The use case/story I am struggling with (on KDE4.2, on SuSE 11.1) The desktop user or administrator needs to understand what to install and what combinations will provide which benefits and which weaknesses, so that they can have a desktop search that meets their needs. OR a predetermined default that 'just works', with sensible defaults. I am also somewhat concerned, if the search interaction requires a user to open Dolphin and type in 'Nepomuksearch:<searchterm>'. I hope there is are better and easier ways to search. I had hoped that there would be a search plasmoid or a keyboard shortcut (like Beagle) but I can't find anything. Please feel free to enlighten me as to how dumb I've been. As a UX architect I'm used to it ;o) Cheers, Greg
There actually is a plasmoid/shortcut for strigi. Krunner does the trick, but it needs some tweaking before it's pratical. (If you don't know what Krunner is, just press Alt-F2 and see what happens.) First, make sure that the necessary backends are installed. In Kubuntu, I needed to install plasma-runner-addons. Then I enabled the strigi plugin in the krunner settings, set the default style to "Task Oriented", changed the positioning to "Free floating window", and changed the default shortcut from Alt-F2 to Alt-Space in System Settings. Now, Krunner will behave like Katapult from KDE 3, but with a special twist.. it not only launches programs, it performs Strigi searches too! If you like this functionality, help me request this as a KDE default.
can i use strigi also on Ubuntu-Version: Kubuntu (KDE 4) 8.10 (Intrepid Ibex)?
Oh yes, you can! That's why it is already included in Kubuntu. Check out 'Desktop search' in your system settings!
in my system settings strigi is active. but how can i run strigi. i have installed. but i cannot run it. strigi-client bash: strigi-client: command not found salsero@salsero-laptop:~$ strigi bash: strigi: command not found
That depend if you are using kde4.2 you can't. Strigi is disabled because the only soprano backend provided is redland and strigi want sesame2. Their are licence and packaging management problem.
Of course you can certainly run strigi on KDE 4.2. The client can be started with 'strigiclient'. The default backend is CLucene. If strigi is run in combination with Nepomuk the backend is soprano. Soprano uses either redland or sesame. There are no license problems whatsoever.
strigiapplet-0.5.7: I had a nasty linker error for ld not finding -lqt-mt into strigiapplet. I workarounded it with a sed between the cmake and the make command: sed -i 's/-L\/usr\/kde\/3.5\/lib/-L\/usr\/kde\/3.5\/lib -L\/usr\/qt\/3\/lib/g' src/kickerapplet/CMakeFiles/strigiapplet.dir/build.make
So I compiled CLucene and Strigi from source, seemed to work after fixing the paths to /usr. Running "strigidaemon" in a terminal doesn't show any nasty error messages of any sort - great. But now I wonder how I can use it. My Qt version is 3.3.8 (default package from Slackware 12.0), and I don't plan to install Qt4 - so StrigiApplet is preferable, right? I just don't understand how to install it. I haven't found any Slackware packages, so I downloaded the source and followed the guide in the README: Quote:mkdir build
cd build
export QTDIR=/usr/lib/qt3
cmake -DCMAKE_INCLUDE_PATH=${HOME}/testinstall/include \
-DCMAKE_LIBRARY_PATH=${HOME}/testinstall/lib \
-DCMAKE_INSTALL_PREFIX=${HOME}/testinstall ..
Then I ran make and make install. No errors, but can't find it among my Kicker applets. Should I edit the paths?
As I'm not used to cmake, I tried to compile from svn (also described in README). I added --prefix=`kde-config --prefix` to the ./configure, and then make and make install. No problems, but still can't find any applets (doesn't work in Konqueror either).
I'm confused; if anyone can point me to the right direction, I would be very happy. Thanks in advance!
Strigiapplet alone won't do you any good, you have to run the main Strigi daemon to use it. And sorry, but Qt 4 is not optional, you can't build Strigi with Qt 3.
Qt 4 is certainly optional. You can use strigi without Qt4. Then you need to use the strigi applet as the gui.
I have installed Qt4 now (from cmake: -- Found Qt-Version 4.3.1), and succeeded building strigidaemon, strigicmd and strigiclient. However, when I try to launch strigiclient, I get: Quote:strigiclient: error while loading shared libraries: libstrigiqtdbusclient.so.0: cannot open shared object file: No such file or directory
A search on google didn't help; does anyone have a hint on how to solve this problem?
(I'm still using Slackware. I used 'QTDIR=/opt/qt4/ PATH=$QTDIR/bin:$PATH cmake ..' when I build Strigi.)
Edit: Nevermind, it worked after a reboot. :)
Hi! I just discovered that strigi indexes my .beagle directory. IMHO it should be possible to exclude directories BTW it looks like that also the hidden directories are automatically indexed, so there is no need to define ~ (home) and ~/.evolution (and others)
Hi! strigi 0.5.1 the daemon issues messages '' is not a UTF8 or latin1 string or ' Fl�ten - und Klaviermusik der Romantik' is not a UTF8 or latin1 string IMHO it would be useful to know the filename to be able to correct the problem.
I compiled and installed strigi 0.5.1 on Kubuntu 7.04 as it was described at http://strigi.sourceforge.net/?q=node/29 successfully, but when i invoke strigidaemon or strigicmd i get the error message: "strigidaemon: error while loading shared libraries: libstreamanalyzer.so.0: cannot open shared object file: No such file or directory" ldd /usr/local/bin/strigidaemon ... libstreamanalyzer.so.0 => not found ... Nevertheless is libstreamanalyzer.so.0 installed: ll /usr/local/lib/libstreamanalyzer* /usr/local/lib/libstreamanalyzer.so -> libstreamanalyzer.so.0 /usr/local/lib/libstreamanalyzer.so.0 -> libstreamanalyzer.so.0.5.1 /usr/local/lib/libstreamanalyzer.so.0.5.1 Do you have any idea what i did wrong? Thanks in advance!
Probably it helps when you install strigi to /usr intead of /usr/local. First uninstall the old version (I hope there is an uninstall-target, if so just do make uninstall from the directory, where you compiled strigi.) Then you probably want to clean the directory: $ make clean $ rm -rf .CMakeFiles $ rm CMakeCache.txt Now configure strigi: $ cmake -DCMAKE_INSTALL_PREFIX="/usr" . Here is where you can give the options (sqlite3, xml, dbus, ...) I hope this helps :) But, btw: There are nmany packages for distributions, just ask google, probably you find one for yours. Good Luck Franz
It works now - Thanks a lot! Could you tell me why you knew that changing the directory would solve my problem?
Cause here i had the same problem ;)
Strigiapplet not loading with latest xorg-server and kicker: kicker: symbol lookup error: /usr/lib/kde3/strigi_panelapplet.so: undefined symbol: _ZN11AsyncSocketC1Ev
Same error on Kubuntu Feisty. Any hint to solve this problem? Thanks a lot.
The problem is that in strigi's 0.5.1 code the classes "AsyncSocketClient" and "AsyncSocket" are not exported, so a small patch to the code is needed. You can get the patch from here: http://www.kbfx.org/release/0.4.9/sources/strigi-0.5.1-fix.diff Put it in the folder where you untarred the strigi 0.5.1 sources and in the same folder issue the command: "patch -p0 < strigi-0.5.1-fix.diff" Next proceed with the compilation/installation of strigi as usual. At the end install strigi applet.
it will be good to have strigiapplet works with new version of strigi... is it possible ?
Of course. I just updated it. Have fun!