Archive for Januar 2008

Gleisarbeiter-Blog ist umgezogen

Ich habe meinen Blog jetzt auf meinen eigenen Server umgezogen.

www.gleisarbeiter.de

Der WordPress-Blog selbst wird von mir nicht mehr aktualisiert. Schaut bitte jetzt unter dem neuen Link nach Neuigkeiten.

Viel Spaß!

Add comment Januar 19, 2008

Stemming mit ActsAsFerret

Stemming ist ein Verfahren, um – mit Hilfe von Algorithmen – den Wortstamm von Wörtern zu ermitteln. Dies wird z.B. bei Suchmaschinen angewendet, damit die Suche nicht an einem eingebenen Wort scheitert, dass zwar nicht in der Datenbank als solches zu finden ist, wohl aber dessen Wortstamm, z.B. Gitarren => Gitarre.

Ferret und ActsAsFerret bietet eine einfach zu konfigurierende Unterstützung für dieses Stemming:

Eine Datei

stemming_analyzer.rb

im lib/-Verzeichnis anlegen:

require 'rubygems'
require 'ferret'

class StemmingAnalyzer < Ferret::Analysis::Analyzer
  include Ferret::Analysis
  def initialize(stop_words = FULL_GERMAN_STOP_WORDS)
    @stop_words = stop_words
  end
  def token_stream(field, str)
    StemFilter.new(StopFilter.new(LowerCaseFilter.new(StandardTokenizer.new(str)),@stop_words), 'de')
  end
end

Im zu durchsuchenden Model dann folgendes:

acts_as_ferret :fields => {
  :bandname => {}, :firstName_if_public => {},
  :tag_list => {}, :comment_list => {}
}, :ferret => {
    :analyzer => StemmingAnalyzer.new, :remote => true}

Dabei ist darauf zu achten, dass, wenn ihr den DrB-Server verwenden wollt, :remote => true innerhalb des :ferret-Attributs sein muss. Bei uns war dieses ausserhalb, woraufhin bei einem Aufruf von XYZ.rebuild_index nur nil zurückgeliefert wurde und Stemming nicht funktionierte.

Über script/console kann dann schön getestet werden. Wenn man nebenbei noch die log/ferret_server.log anschaut, kann man sehen, dass jetzt automatisch Suchwörter wie „und“ in XYZ.find_by_contents(„Gitarren und Geigen“) entfernt werden. Ausserdem kann man sehen, dass z.B. „Geigen“ auf „Geig“ reduziert wird, womit sich dann auch Wörter wir Geige finden lassen.

1 comment Januar 17, 2008

Indiginox hat einen neuen Mitarbeiter!

… und der heisst Aljoscha Everding.

Wenn er da ist, dann sitzt er genau hier, mir gegenüber, und wie man schon an seinen Stuhl-Armlehnen sehen kann, ist er nicht grad der kleinste :-) Aber ein total Netter. Gestern war der erste Tag und er durfte sich erstmal mit der Installation unseres Projektes ligx.de auf seinem neuen Macbook ausruhen. Heute kann er endlich zeigen was in ihm steckt :-D Aber das wird wohl kein Problem werden, schließlich hat er seine Diplomarbeit in RubyOnRails gemacht.

Also dann, auf eine gute Zusammenarbeit!

foto-1.jpg

Add comment Januar 15, 2008

Flex & RubyOnRails

Onlinemusicstar.de ist jetzt Ligx.de und dazu noch mit Flash/Flex Oberfläche. Nachdem wir uns bei der Umsetzung vorerst auf HTML+RoR beschränkt hatten, ist aus diesem Projekt jetzt eine Flex+RoR-Anwendung geworden. Dabei wird auf Server-Seite das RailsPlugin WebORB verwendet, mit dem im J2EE-Stil Webservices zur Verfügung gestellt und diese dann von Flex aufgerufen werden können.Durch die Möglichkeiten des ClassMappings haben wir ausserdem die Möglichkeit RubyObjekte zwischen Flex und RoR hin- und herzuschicken, anstatt POST-Variablen oder xml-Daten, was doch alles sehr vereinfacht. Ein Beispiel:

def updateUserData(user_object)
user_object.save
end
Diese Funktion speichert die persönlichen Daten eines Users ab. Das interessante daran ist, dass wir nicht etwas einen Block an Variablen erhalten (den wir dann über params[...] speichern müssten), sondern wir erhalten von der Flex-Seite ein User-Objekt, welches wir auch sofort speichern können und können genauso einfach Objekte (die über das Classmapping definiert wurden) zurückschicken.
Was dabei herauskommt sieht man auf www.ligx.de

1 comment Januar 11, 2008


RSS Der Gleisarbeiter Blog

 

Januar 2008
M D M D F S S
« Sep    
 123456
78910111213
14151617181920
21222324252627
28293031  

Kategoriewolke

Cocoa Ferret Flash Flex Goldberg Java Mac Private RadRails Rails Ruby Ruby/Rails Spiele Sun Test Testing Uncategorized

Neueste Artikel

Neueste Kommentare

ffaerber zu can’t find header files …
sam zu Stemming mit ActsAsFerret
humpaaa zu Flex & RubyOnRails
gleisarbeiter zu Ruby & Cocoa auf Mac …
schroedi zu Ruby & Cocoa auf Mac …

Blog Stats

Blogroll