Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
數位典藏聯合目錄搜尋引擎模組
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Brian Hsu
January 17, 2013
Programming
170
0
Share
數位典藏聯合目錄搜尋引擎模組
Brian Hsu
January 17, 2013
More Decks by Brian Hsu
See All by Brian Hsu
我如何停止憂慮並愛上 Non-MVC Web Framework @ OSDC.tw 2013
brianhsu
6
3.3k
Java XML Processing
brianhsu
0
85
Java Unicode NCR 處理
brianhsu
1
420
如何在 Java App 中導入 Scala @ JavaTWO 2011
brianhsu
1
130
[LT] 自由軟體讓你五分鐘上新聞 @ OSDC.tw 2011
brianhsu
1
100
ScalaTest-連貓都會的單元測試與 BDD @ COSCUP 2010
brianhsu
0
290
Introduction to Scala @ TWJUG 2010/07
brianhsu
1
190
Programming Android Application in Scala @ OSDC.tw 2010
brianhsu
1
120
Other Decks in Programming
See All in Programming
CDK Deployのための ”反響定位”
watany
5
910
実践CRDT
tamadeveloper
0
610
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
330
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
1
180
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
230
From Formal Specification to Property Based Test
ohbarye
0
600
AIと共に生きる技術選定 2026
sgash708
0
110
AIを導入する前にやるべきこと
negima
2
310
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
470
Symfony AI in Action - SymfonyLive Berlin 2026
chr_hertel
1
110
GoogleCloudとterraform完全に理解した
terisuke
1
180
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.4k
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
130
sira's awesome portfolio website redesign presentation
elsirapls
0
230
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
Design in an AI World
tapps
1
210
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Designing Experiences People Love
moore
143
24k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.9k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Mind Mapping
helmedeiros
PRO
1
180
Everyday Curiosity
cassininazir
0
200
Transcript
Lucene 搜尋引擎 BrianHsu
[email protected]
Lucene 簡介 • 全文搜尋引擎 – http://lucene.apache.org/ – http://lucene.apache.org/core/3_6_2/gettingstarted.html • 聯合目錄目前使用
3.5 版
Lucene 索引檔 • Lucene 索引檔 – 一整個資料夾 • Lucene Document
– 一份索引檔裡有 0~N 個 Lucene Document • Lucene 欄位 – 每一份 Lucene Document 有 0~N 個 Lucene 欄位 – key1=[value1, value2, value3] – key2=[value1, value2, value3] • 觀察索引檔工具 – http://code.google.com/p/luke/
聯合目錄索引檔 • //140.109.18.152/LuceneIndex – 藏品索引檔 – 五百萬筆的藏品全文搜尋 • //140.109.18.152/CatalogIndex –
分類目錄的索引檔 – 聯合目錄搜尋裡的「符合的分類名稱」
搜尋引擎模組 • 將 Lucene 包裝成聯合目錄專用 • SearchEngine – 核心搜尋功能 •
ArchiveSearch – 聯合目錄搜尋 • AATSearch – 台灣書院搜尋 • ShopSearch – 授權加值平台搜尋
演算法流程 1. 使用者先建立 SearchEngine 的物件,並傳入 Sort 物件指定排序 的方式 2. 使用者呼叫
SearchEngine 中的 search 方法 3. SearchEngine 將使用者傳入的 search 要求轉遞給 Lucene ,並 取得搜尋結果。 4. 針對搜尋的結果數量建立相對應的 SearchResult<T> 物件 5. 透過 SearchResultConverter 將 Lucene 的搜尋結果的每一筆資 料轉成 T 類別,並且放入 SearchResult<T> 容器當中。 6. 利用 Sort 物件排序 SearchResult<T> 物件 7. 返回 SearchResult<T> 物件給使用者
使用方式 • 參照 – ArchiveSearch/src/main/java/example/Test.java – LuceneSearch/javadoc/