我爲solr編寫自定義標記器,當我第一次將記錄添加到solr時,他們正在通過我的標記器和其他過濾器,當他們通過我的標記器時,我調用Web服務並添加所需的屬性。之後,我可以使用搜索而不向Web服務發送請求。當我使用突出顯示數據的搜索再次通過我的tokenizer時,我應該怎麼做纔不再通過tokenizer?爲什麼要重新索引突出顯示的數據?
0
A
回答
0
當在文本上運行熒光筆以突出顯示時,該字段的分析器和標記器會在文本上重新運行,以針對提交的文本對不同的標記進行評分,以確定哪個片段最適合查詢產生的。你可以看到this code around line #62 of Highlighter.java in Lucene。
然而,有幾個選項,可以幫助爲否定需要重新解析文檔的文本,所有給出的選項上the community wiki for Highlighting:
對於標準的熒光筆:
它不需要任何特殊的數據結構,例如termVectors, ,儘管如果它們存在,它們將使用它們。如果不是,這個熒光筆將重新分析該文件以突出顯示它。 這款熒光筆是各種搜索 使用案例的理想選擇。
還有兩個其他的熒光筆實現,你可能想看看,因爲任何一個使用其他支持結構,可能會避免對字段進行重新分析/分析(我認爲測試它會快得多你比我現在)。
FastVector熒光筆:本FastVector熒光筆需要對場項向量選項(termVectors,termPositions,和termOffsets)。
過帳熒光筆:過帳熒光筆需要在該字段上配置storeOffsetsWithPositions。這是一個比術語向量更緊湊和更有效的結構,但不適用於大量的查詢術語。
您可以使用hl.useFastVectorHighligter=true
或將<highlighting class="org.apache.solr.highlight.PostingsSolrHighlighter"/>
添加到searchComponent定義來切換突出顯示實現。
相關問題
- 1. 爲什麼它不能突出顯示新數據?
- 2. 爲什麼在哪裏突出顯示?
- 3. lazarus爲什麼突出顯示紅色
- 4. 爲什麼eclipse突出顯示R.id.tabhost?
- 5. 爲什麼搜索引擎需要定期重新索引但數據庫不需要?
- 6. 窗體驗證以顯示要突出顯示的重複數據字段
- 7. 全文索引需要刪除和重新創建 - 爲什麼?
- 8. 爲什麼突出顯示的結果包含在數組中?
- 9. 爲什麼不突出顯示正確的數字?
- 10. Solr突出顯示 - 需要突出顯示的短語
- 11. 爲什麼顯示'更新Git索引失敗'
- 12. 爲什麼Matlab顯示「索引超出矩陣尺寸」?
- 13. 突出顯示搜索TextBlock
- 14. 爲什麼突出顯示javascript的vim語法在默認情況下不突出顯示數字?
- 15. 爲什麼alert函數不顯示每個的索引
- 16. WPF - MenuItem突出顯示有不想要的次要突出顯示
- 17. 爲什麼在Eclipse中爲Scala var'突出顯示爲紅色
- 18. 刷新winform上顯示的綁定數據需要什麼?
- 19. 爲什麼font-lock-keyword-face在Emacs的雙引號內突出顯示文本?
- 20. 爲什麼需要兩次點擊來突出顯示我的JTree?
- 21. 突出顯示JSF數據表的行
- 22. 突出顯示的數據點報告
- 23. vim:爲什麼sh顏色方案突出顯示`$(...)`爲錯誤?
- 24. 爲什麼Netbeans將某些javascript方法突出顯示爲undefined
- 25. 代碼突出顯示爲語法錯誤。爲什麼?
- 26. 彈性搜索中的離線和在線索引是什麼?我們什麼時候需要重新索引?
- 27. 突出顯示在數據表中的搜索結果
- 28. 爲什麼我的導航欄不突出顯示?
- 29. 爲什麼webservice不支持突出顯示的字母?
- 30. 爲什麼我的文字不斷突出顯示?
我想我應該使用它,但我沒有任何搜索組件定義,如果定義它搜索不起作用。 – 2014-09-10 23:58:27