Hasil kueri Lucene : mendapatkan kata-kata dalam dokumen yang dikembalikan yang ditemukan oleh kueri

Untuk menampilkan kata-kata pencocokan yang disorot dalam dokumen yang dikembalikan oleh kueri Lucene, hasil pencarian Lucene mungkin berisi kata-kata yang digunakan untuk mengembalikan dokumen yang cocok dengan permintaan saya.

Misalnya :

  • Pertanyaan Lucene : "anjing kucing"

  • Hasil : ["anjing itu baik","anjing dan kucing adalah teman"]

Bagaimana cara mencapai ini dengan Lucene? Secara manual saya tidak bisa menangani cats atau dogs atau perbedaan apa pun antara kata yang diminta dan kata yang dikembalikan.


person Slim    schedule 13.12.2015    source sumber


Jawaban (1)


Gunakan Highlighter Lucene. Sesuatu seperti ini:

//By default, this formatter will wrap highlights with <b>, but that is configurable.
Formatter formatter = new SimpleHTMLFormatter(); 
QueryScorer scorer = new QueryScorer(query);
Highlighter highlighter = new Highlighter(formatter, queryScorer);
//You can set a fragmenter as well, by default it will split into fragments 100 chars in size, using SimpleFragmenter.

String highlightedSnippet = highlighter.getBestFragment(myAnalyzer, fieldName, fieldContent);
person femtoRgon    schedule 16.12.2015