ผลลัพธ์แบบสอบถาม Lucene : รับคำในเอกสารที่ส่งคืนซึ่งพบโดยแบบสอบถาม

เพื่อนำเสนอคำที่ตรงกันที่ไฮไลต์ในเอกสารที่ส่งคืนโดยข้อความค้นหาของ Lucene ผลการค้นหาของ Lucene อาจมีคำที่ใช้ในการส่งคืนเอกสารซึ่งตรงกับคำขอของฉัน

ตัวอย่างเช่น :

  • คำค้นหา Lucene : "สุนัข แมว"

  • ผลลัพธ์ : ["สุนัข เป็นคนดี", "สุนัข และ แมว เป็นเพื่อนกัน"]

จะบรรลุเป้าหมายนี้กับ Lucene ได้อย่างไร? ด้วยตนเอง ฉันไม่สามารถจัดการ cats หรือ dogs หรือความแตกต่างระหว่างคำที่ร้องขอและคำที่ส่งคืนได้


person Slim    schedule 13.12.2015    source แหล่งที่มา


คำตอบ (1)


ใช้ Highlighter ของ Lucene บางสิ่งเช่นนี้:

//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