Text Analyzer pada Lucene Search Engine

Sebelum beranjak ke cara membuat search engine dengan Lucene, ada baiknya kita mengenal lebih jauh mengenai Lucene. Jika masih penasaran dengan yang namanya Lucene, anda dapat membaca index tutorial ini di tutorial membuat search engine Lucene.

Di dalam Lucene terdapat text analyzer yang bertugas menganalisa text atau query yang dilakukan pencarian.

Text Analyzer pada Lucene Search Engine

Adapun text analyzer pada lucene adalah akan melakukan analisa terhadap query sebagai berikut:

Token

Tokenizer bertugas membagi teks menjadi potongan-potongan sesuai kata penyusunnya. Jika menggunakan Analyzer yang berbeda maka kita dapat menggunakan tokenizers yang berbeda pula, sehingga hasil token outputnya pun berbeda.

Stemming

Stemming adalah “reducing words to a root form” atau mereduksi sebuah kata dari kata dasarnya.

Seorang user ketika melakukan input suatu keyword, query yang dia masukkan akan mirip dengan kata yang lain.

Misalnya user memasukkan “engineering”, kata engineering kemungkinan akan sama dengan “engineers”, “engineered”, dan “engineer”.
Tugas stemmer yang akan mereduksi kata-kata tersebut sehingga didapatlah kata “engineer”.

Tutorial membuat search engine menggunakan apache lucene dengan menggunakan bahasa pemrograman java
Logo Lucene

Stop Words

Lucene text analyzer akan menghapus kata berupa stop words. Dalam bahasia Inggris, contoh dari stop words adalah “a”, “be”, “have”, “the” dll.

Penambahan Sinonim ~ Lemmatization?

Selain stemming, Lucene text analyzer juga akan mencari sinonim dari query pencarian. Jadi ketika ada query dengan kata “go” maka akan dicari juga sinonimnya, misal “gone”, “going”, “went”.

Semoga bermanfaat.

Leave a Comment