NLucene研究系列 1 概述

2022-07-16 17:27:14 字數 1004 閱讀 1101

lucene是apache軟體**會jakarta專案組的乙個子專案,是乙個開放源**的全文檢索引擎工具包,即它不是乙個完整的全文檢索引擎,而是乙個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎,部分文字分析引擎(英文與德文兩種西方語言)。

lucene的目的是為軟體開發人員提供乙個簡單易用的工具包,以方便的在目標系統中實現全文檢索的功能,或者是以此為基礎建立起完整的全文檢索引擎。

lucene的原作者是doug cutting,他是一位資深全文索引/檢索專家,曾經是v-twin搜尋引擎的主要開發者,後在excite擔任高階系統架構設計師,目前從事於一些internet底層架構的研究。早先發布在作者自己的後來發布在sourceforge,2023年年底成為apache軟體**會jakarta的乙個子專案:

nlucene是lucene在.net環境中的實現,其基本的原理和架構都是一致的,所以下文討論的lucene特性基本都適用於nlucene。因為檔案格式等相同,所以index檔案都是通用的。

nlucene

作為乙個全文檢索引擎,具有如下突出的優點:

ø索引檔案格式獨立於應用平台。

nlucene

定義了一套以

8位位元組為基礎的索引檔案格式,使得相容系統或者不同平台的應用能夠共享建立的索引檔案。

ø在傳統全文檢索引擎的倒排索引的基礎上,實現了分塊索引,能夠針對新的檔案建立小檔案索引,提公升索引速度。然後通過與原有索引的合併,達到優化的目的。

ø優秀的物件導向的系統架構,使得對於

nlucene

擴充套件的學習難度降低,方便擴充新功能。

ø設計了獨立於語言和檔案格式的文字分析介面,索引器通過接受

token

流完成索引檔案的創立,使用者擴充套件新的語言和檔案格式,只需要實現文字分析的介面。

ø已經預設實現了一套強大的查詢引擎,使用者無需自己編寫**即使系統可獲得強大的查詢能力,

nlucene

的查詢實現中預設實現了布林操作、模糊查詢(

fuzzy search

)、分組查詢等等。

Faiss庫系列1 概述

使用教程 faiss由facebook ai research開發,是乙個用於相似性搜尋和密集向量聚類的高效能庫,支援十億級別向量的搜尋,是目前最為成熟的近似近鄰搜尋庫。它包含多種搜尋任意大小向量集 備註 向量集大小由ram記憶體決定 的演算法,以及用於演算法評估和引數調整的支援 faiss用c 編...

TCP IP系列文章(1) 概述

圖1.6展示了鏈路層自底向上如何進行分解,這裡使用乙太網作為例子 乙太網幀包含乙個48位的目的位址 又稱mac位址 和乙個16位的乙太網型別字段。0x0800表示這個幀包含ipv4資料報 0x0806表示arp 0x86dd表示ipv6。假設目的位址與接收方的乙個位址匹配,這個幀將被接收並校驗差錯,...

倉庫管理系統系列 1 概述

自己搭建的倉庫管理系統,模擬日常小超市的業務邏輯實施的系統,包括 1 使用者管理 註冊 登入 許可權管理 精確到每乙個方法 2 商品分類管理 3 商品管理 商品錄入 商品 等 4 商品質量異議,進行商品封鎖和商品返修 5 商品盤庫 6 成本核算 專案設計採用spring springmvc hibe...