假設我有100個在Lucene中索引的文檔。我想搜索「美國航空」這個詞。 Lucene運行搜索並返回10個包含術語「美國航空公司」的文件。我現在想要在我的用戶界面中瀏覽這10個文檔中的每一個,並自動突出顯示/滾動到每個匹配項。這些都是帶有唯一id-ed段落標籤的html文檔,所以我可以使用類似http://docurl#p_120
的內容滾動到<p id="p_120">American Airlines is a big company.</p>
。但是,我如何讓Lucene告訴我該術語的段落是什麼,以及它究竟在哪裏,以便我能夠突出它?Lucene能夠在文檔中找到匹配的位置嗎?
0
A
回答
0
你的問題是關於突出顯示。你問如何索引一個帶有子文檔的文本,這樣你就可以知道子文檔的ID以進行高亮顯示。
imho你有三種可能性。但首先讓我提醒你,lucene可以使用偏移量(=原始文本中的位置)突出顯示 https://lucene.apache.org/core/6_4_0/highlighter/org/apache/lucene/search/highlight/package-summary.html ,並且lucene知道子文檔的概念爲「被阻止的子文檔」或「嵌套文檔」或「嵌入的文檔」文檔」。
樹可能性:
- 使用有效載荷來存儲相應的子文檔的ID任期的每種情況。
- 存儲一個術語每次出現的偏移量,並知道一個新的子文檔在哪個偏移量開始。將ids與相應的偏移一起存儲在額外的字段中,並使用它來查找每個命中的id。
- 將文檔連同所有子文檔一起索引爲塊中的額外子文檔。搜索與http://lucene.apache.org/core/6_4_0/join/index.html?org/apache/lucene/search/join/ToParentBlockJoinCollector.html
相關問題
- 1. 在Lucene 4中查找搜索匹配的位置
- 2. 從Lucene找到搜索匹配的位置
- 3. Lucene能夠在索引中存儲100GB以上的原始文檔嗎?
- 4. 在Lucene中圍繞位置匹配訪問文字
- 5. 在xcode 6中找不到匹配的配置配置文件
- 6. 在lucene索引文檔中查找和排列多個短語匹配
- 7. 沒有找到匹配配置文件
- 8. 如何在Mongo和Mongo聚合的文檔中找到匹配?
- 9. Lucene中的匹配是否對文檔進行排序?
- 10. SQL選擇在列中找到匹配值的位置
- 11. 找到值匹配和concatenate到列向量中的位置MATLAB
- 12. 在Lucene Solr中檢索每個關鍵字/字段的匹配位置 - 可能嗎?
- 13. 找到足夠遠的位置
- 14. 如何使用Lucene在單個詞語中找到匹配
- 15. 對象能夠在列表中告訴自己的位置嗎?
- 16. 如何在給定的文檔中找到字符串的位置或位置
- 17. 匹配文檔
- 18. 使用Lucene搜索擴展功能MediaWiki 1.21找不到文檔
- 19. Lucene:如何根據文檔中的位置對文檔進行排名
- 20. 是否可以通過匹配的術語訂購lucene文檔?
- 21. 如何從Lucene的文檔術語矢量中獲取位置?
- 22. 用戶能夠訪問舊配置文件以及新配置文件嗎?
- 23. 如何找到數據中匹配大括號的位置?
- 24. 加載的DLL能夠知道它所在的位置嗎?
- 25. 無法解決此問題找不到匹配的配置配置文件:找不到與適用的簽名身份匹配的配置配置文件
- 26. MongoDB中找到文檔屬性匹配其他子集的位置的有效方式
- 27. 在MongoDB文檔中查找匹配的數組項目
- 28. 在DCOM配置中找不到Microsoft Word文檔
- 29. lucene索引匹配
- 30. RSS原子:鏈接 - 自我引用不匹配文檔位置
見Lucene的[熒光筆API(http://lucene.apache.org/core/6_4_0/highlighter/org/apache/lucene/search/highlight/Highlighter.html)。 – femtoRgon