Solr için Plugin yazmak

Volkan Altan
Oct 7, 2017 · 1 min read

Geçtiğimiz günlerde şöyle bir iş geldi;

Müşteriler bazı kelimeler çok sayıda yazarak aramalarda ön plana çıkıyor. Bunun önüne geçelim!

Search engine olarak Solr kullanıyoruz. Kendi için bunu önlemek için “PositionFilterFactory” ve “RemoveDuplicatesTokenFilterFactory” bir arada kullanmak bu sorunu çözüyor ancak Lucene 5 ile bu özellik kaldırılmış.

This filter was deprecated and removed from Lucene in 5.0

Araştırıp bu işi nasıl yaparım diye baktım ama yapılmış bir şey bulamadım. Ben de hızlıca bir plugin yazayım dedim.

İşe kaynak kod incelemeyle başladım. Önce tekrar eden kelimeleri silen bir java kodu ortaya çıktı (stackoverflow). Daha sonra PositionFilterFactory’nin eski versiyonunu alıp implemente ettim.

Sonuçta isteyene eskisi gibi hızlıca PositionFilterFactory kullanma imkanı veya direk tekrar eden kelimeleri engelleyen bir plugin çıkmış oldu. Kullanım ve örnek çıktılar şurada https://github.com/volkan/lucene-solr-filter-eliminateduplicate

PR lere açık olan bu çalışma desteğinizi bekler :)

Image for post
Image for post
Image for post
Image for post

Yazı kalabalık gözüksün diye resimleri ekledim :)

Bu işi yaparken kullandığım kaynaklar;

https://github.com/apache/lucene-solr/
https://github.com/iorixxx/lucene-solr-analysis-turkish
https://github.com/chrismattmann/solrcene/

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store