Lucene系列二:Lucene(Lucene介紹、Lucene架構)

1、Lucene介紹
Lucene簡介
  最受歡迎的java開源全文搜索引擎開發工具包。提供了完整的查詢引擎和索引引擎,部分文本分詞引擎(英文與德文兩種西方語言)。Lucene的目的是爲軟件開發人員提供一個簡單易用的工具包,以方便在目標系統中實現全文檢索功能,或者是以此爲基礎創建起完整的全文檢索引擎。是Apache的子項目,網址:http://lucene.apache.org/
lucene用途
  爲軟件開發人員提供一個簡單易用的工具包,以方便在目標系統中實現全文檢索功能,或者是以此爲基礎創建起完整的全文檢索引擎。
Lucene適用場景
  在應用中爲數據庫中的數據提供全文檢索實現。
  開發獨立的搜索引擎服務、系統
Lucene的特性
  一、穩定、索引性能高
    每小時可以索引150GB以上的數據。
    對內存的要求小——只須要1MB的堆內存
    增量索引和批量索引同樣快。
     索引的大小約爲索引文本大小的20%~30%。
  二、高效、準確、高性能的搜索算法
    良好的搜索排序。
    強大的查詢方式支持:短語查詢、通配符查詢、臨近查詢、範圍查詢等。
    支持字段搜索(如標題、做者、內容)。
    可根據任意字段排序
    支持多個索引查詢結果合併
    支持更新操做和查詢操做同時進行
    支持高亮、join、分組結果功能
    速度快
    可擴展排序模塊,內置包含向量空間模型、BM25模型可選
    可配置存儲引擎
  三、跨平臺
    純java編寫。
    做爲Apache開源許可下的開源項目,你可在商業或開源項目中使用。
     Lucene有多種語言實現版可選(如C、C++、Python等),不光是JAVA。
2、Lucene架構java

數據收集
建立索引
索引存儲
搜索(使用索引)
3、Lucene集成算法

  1. 選用的Lucene版本
    選用當前最新版 7.3.0 : https://lucene.apache.org/
  2. 系統要求
    JDK1.8 及以上版本
  3. 集成:將lucene core的jar引入到你的應用中

方式一:官網下載 zip,解壓後拷貝jar到你的工程
方式二:maven 引入依賴數據庫

  1. Lucene 模塊說明
    core: Lucene core library 核心模塊:分詞、索引、查詢
    analyzers-*: 分詞器
    facet: Faceted indexing and search capabilities 提供分類索引、搜索能力
    grouping: Collectors for grouping search results. 搜索結果分組支持
    highlighter: Highlights search keywords in results 關鍵字高亮支持
    join: Index-time and Query-time joins for normalized content 鏈接支持
    queries: Filters and Queries that add to core Lucene 補充的查詢、過濾方式實現
    queryparser: Query parsers and parsing framework 查詢表達式解析模塊
    spatial: Geospatial search 地理位置搜索支持 suggest: Auto-suggest and Spellchecking support 拼寫檢查、聯想提示
  2. 先引入lucene的核心模塊

[Java] 純文本查看 複製代碼
?apache

<!-- lucene 核心模塊 -->
<dependency>架構

<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>7.3.0</version>

</dependency>maven

  1. 瞭解核心模塊的構成
相關文章
相關標籤/搜索