Das letzte Jahr hat wieder einige technische Neuerungen mit sich gebracht: Die Blockchain-Technologie ist endlich in der Allgemeinheit angekommen, Amazon hat mit Alexa den Sprachassistent in unserem Alltag etabliert und »Cloud« gilt in deutschen Unternehmen nicht mehr als Unwort. Doch was können wir im kommenden Jahr erwarten? Und welche Techniktrends werden uns darüber hinaus beschäftigen? In diesem Artikel versuche ich mich als Hellseher und wage einen Blick in die Zukunft.
Der große Performance-Vergleich: JavaScript, Python, Java, Ruby, PHP, C++, C und Bash
Habt ihr euch schon einmal gefragt, welche der populärsten Programmiersprache eigentlich die schnellste bzw. performanteste ist? Um das zu testen, habe ich mir ein kurzes Skript/Programm überlegt, das die Summe aller Zahlen von 0 bis 100000000 in einer Schleife errechnen muss. Das lässt sich als Konsolenausgabe in allen Sprachen umsetzen und braucht einiges an Rechenleistung – also perfekt für einen Vergleich geeignet. Das Ergebnis ist zum Großteil wie erwartet, überrascht aber auch bei manchen Sprachen.
Deutsche Stoppwörter in Elasticsearch (gilt auch für Apache Lucene bzw. Solr)
Wenn man in Elasticsearch einem Property den deutschen Analyizer mitgibt, dann werden bestimmte Begriffe bei der Indizierung ignoriert. Beispiel:
{ "mappings": { "mytype": { "properties": { "title": { "type": "string", "analyzer": "german" } } } } } |
Sucht man anschließend nach Wörtern wie „ein“, „es“ oder „in“, wird Elasticsearch keine sinnigen Ergebnisse zurückliefern. Hier nun eine Liste aller deutschen Stoppwörter, die in Elasticsearch und Apache Lucene bzw. Solr standardmäßig gefiltert werden:
aber alle allem allen aller alles als also am an ander andere anderem anderen anderer anderes anderm andern anderr anders auch auf aus bei bin bis bist da damit dann der den des dem die das daß derselbe derselben denselben desselben demselben dieselbe dieselben dasselbe dazu dein deine deinem deinen deiner deines denn derer dessen dich dir du dies diese diesem diesen dieser dieses doch dort durch ein eine einem einen einer eines einig einige einigem einigen einiger einiges einmal er ihn ihm es etwas euer eure eurem euren eurer eures für gegen gewesen hab habe haben hat hatte hatten hier hin hinter ich mich mir ihr ihre ihrem ihren ihrer ihres euch im in indem ins ist jede jedem jeden jeder jedes jene jenem jenen jener jenes jetzt kann kein keine keinem keinen keiner keines können könnte machen man manche manchem manchen mancher manches mein meine meinem meinen meiner meines mit muss musste nach nicht nichts noch nun nur ob oder ohne sehr sein seine seinem seinen seiner seines selbst sich sie ihnen sind so solche solchem solchen solcher solches soll sollte sondern sonst über um und uns unse unsem unsen unser unses unter viel vom von vor während war waren warst was weg weil weiter welche welchem welchen welcher welches wenn werde werden wie wieder will wir wird wirst wo wollen wollte würde würden zu zum zur zwar zwischen
Auf Github findet man zudem noch Listen zu Stoppwörtern in diversen anderen Sprachen:
https://github.com/apache/lucene-solr/tree/master/lucene/analysis/common/src/resources/org/apache/lucene/analysis/snowball