Sunday, May 6, 2012

IndexTank - Real-time Search and Indexing System

Linkedin epey bir sure IndexTank'i opensource yapmisti [1]. IndexTank opensource olmadan once ElasticSearch ile hayranlikla cokca zaman gecirmisitim. Ve su kadarini soyleyebilirim ikisini de search servisi olarak kullanan bir son kullanici olarak IndexTank'da daha iyi olan bir ozellik goremedim.

Ikisi de Apache Lucene uzerine calisiyor. Ancak IndexTank oldukca eski bir surumunu kullaniyor. Gercekten eski bir surum. Ayar dosyasinda 3.0 yaziyor [2] ki su anki Lucene cekirdegi surumu 3.6  [3].

ElasticSearch guide sayfasi [4] alisilagelmis bir dokumantasyon sayfasi gibi olmasa da oldukca ise yarayan egelenceli bir sayfa. ElasticSearh aktif bir mailliste de sahip. IndexTank icin yeterli bir community ve dokumantasyona ulasamadim. Cunku http://indextank.com/ sayfasi aktif degil uzun suredir. Sadece bir linkedin grup sayfasi var ve oldukca yetersiz.


Hemen kurup deneyebilirsin : https://github.com/linkedin/indextank-engine
Kendi performans testlerinizi kendiniz yapabilirsiniz ama tek makine uzerinde kiyaslama yapmak dogru olmayabilir. Cunku IndexTank cloud tabanli bir yapida basarisini kanitlamis bir sistem olarak tanitiliyor.



maven ile derlemeniz gerek. Yani eger sahip degilseniz once maven kurmalisiniz.

Indirdikten sonra

mvn compile package assembly:single

calistirmaniz yeterli artik "target/" altinda olusan jar dosyasini calistirabilirsiniz su sekilde

java -cp target/indextank-engine-1.0.0-jar-with-dependencies.jar com.flaptor.indextank.api.Launcher


Java, python,  ruby ve  php icin onerilen Api client'lar sunlar


Java: https://github.com/flaptor/indextank-java
Python: https://github.com/flaptor/indextank-py
Ruby: https://github.com/flaptor/indextank-rb
PHP: https://github.com/flaptor/indextank-php


Veri alisverisi yine json formatinda. github sayfasinda birkac ornek bulabililirsiniz.



1. "IndexTank is now open source!" : http://engineering.linkedin.com/open-source/indextank-now-open-source
2. https://github.com/linkedin/indextank-engine/blob/master/pom.xml#L19
3. Apache Lucene Releases : http://lucene.apache.org/core/downloads.html
4. ElasticSearch Guide : http://www.elasticsearch.org/guide/