1. 程式人生 > >lucene全文檢索與資料庫檢索的區別

lucene全文檢索與資料庫檢索的區別

1.效能

資料庫:like檢索(會把表中資料進行一行一行的掃描,)效能慢

Lucene檢索:先把資料那過來建立檢索,然後在根據建立的索引進行查詢,這樣的話我們需要多維護一份索引表。多一個建立索引的過程,但是我們是一次建立多次使用。

2:相關度排序

資料庫檢索:通過 order by 關鍵字來操作。

Lucene檢索:對查詢出來的每個document都有一個演算法,(得分)得分是根據演算法算出來的。得分越高,排序的順序越靠前。

排序可以人工干預(通過設定權重值)

程式碼:

public static Document articleToDocument(Article article){
Document document=new Document();
IntField idfield=new IntField("id",article.getId(),Store.YES);
StringField authorfield=new StringField("author", article.getAuthor(), Store.YES);
StringField urlfield=new StringField("link", article.getLink(), Store.YES);
TextField title=new TextField("title", article.getTitle(),Store.YES);
//設定權重值,預設為1f..
title.setBoost(4f);


TextField contentfield=new TextField("content", article.getContent(),Store.YES);
document.add(idfield);
document.add(authorfield);
document.add(urlfield);
document.add(title);
document.add(contentfield);
return document;
}

3:匹配的準確度

資料庫檢索: 通過like 關鍵字進行檢索  其中相關文字得用 % 來表示  如:like %ant%

Lucene檢索:先把資料拿過來分詞建立索引,根據建好的索引進行查詢。

相關推薦

lucene全文檢索資料庫檢索區別

1.效能 資料庫:like檢索(會把表中資料進行一行一行的掃描,)效能慢 Lucene檢索:先把資料那過來建立檢索,然後在根據建立的索引進行查詢,這樣的話我們需要多維護一份索引表。多一個建立索引的過程

順序檢索二分檢索

排序檢索和二分檢索 首先介紹第一種,使用者輸入要查詢的數字,然後在已知數組裡進行查詢,並測出查詢所需要的時間 順序檢索演算法 package joe; import java.util.Arrays; import java.util.Scanner;

Lucene全文檢索引擎

getname 通過 nal dem 檢索 數據庫 project cep 關閉 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSch

Lucene 全文檢索入門

sdi 執行 option getter itl .get png 廣泛 fig 博客地址:http://www.moonxy.com 一、前言 Lucene 是 apache 軟件基金會的一個子項目,由 Doug Cutting 開發,是一個開放源代碼的全文檢索引擎工具包

lucene 4.10 檢索mysql資料庫

今天拿到一個需求,需要使用lucene 檢索mysql資料庫的一個通訊錄表,需要支援全文全欄位複合檢索. 使用者的表結構如下        (通訊錄mysql表結構)   在網上找了一些例子,由於網上這

Lucene全文檢索之倒排索引實現原理、API解析【2018.11】

》 官網 http://lucene.apache.org/ 下載地址:https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/java/7.5.0/ 》 Lucene的全文檢索是指什麼: 程式掃描文件

Lucene全文檢索框架

Lucene全文檢索框架 1、什麼時Lucene? 是一個全文搜尋框架,而不是應用產品,他只是一種工具讓你能實現某些產品,並不像www.baidu.com拿來就能用 是apache組織的一個用java實現的全文搜尋引擎的開源專案 2、Luncen的工作方式? 提供的服務實際包含兩部分:一入一

Lucene全文檢索學習

花了一段時間學習lucene今天有時間把所學的寫下來,網上有很多文章但大部分都是2.X和3.X版本的(當前最新版本4.9),希望這篇文章對自己和初學者有所幫助。    學習目錄 (1)什麼是lucene (2)lucene常用類詳解 (3)lucene簡單例項 (4)luce

[email protected]】專注於資料庫資訊檢索技術

###[email protected]### ① 本部落格中文章,除轉載外,均為作者本人原創。請轉載時,尊重個人勞動,註明原始出處 ② 內容主要涉及資料庫相關理論技術、雲端計算及軟體架構專案管理 同時我也是Sybase, SQLAnywhereStudio, PostgreSQ

《MySQL必知必會》學習筆記(二)、MySQL資料庫中資料的檢索搜尋

一、對檢索結果排序 1.1 簡單排序 在MySQL中使用ORDER BY子句對檢索出的資料進行排序,而且預設為遞增排序。若想以遞減方式排序,需要在排列資料後面加上DESC關鍵字。利用《MySQL必知必會》中的資料表,實驗如下: SELE

Lucene全文檢索隨筆

一,什麼是全文檢索 全文檢索是計算機程式通過掃描文章中的每一個詞,對每一個詞建立一個索引,指明該詞在文章中出現的次數和位置。當用戶查詢時根據建立的索引查詢,類似於通過字典的檢索字表查字的過程。 全文檢索(Full-Text Retrieval)以文字作為檢索物件,找出含有指定詞彙的文字。全面、準確和快速是

Lucene全文檢索入門使用

一、 什麼是全文檢索 全文檢索是計算機程式通過掃描文章中的每一個詞,對每一個詞建立一個索引,指明該詞在文章中出現的次數和位置。當用戶查詢時根據建立的索引查詢,類似於通過字典的檢索字表查字的過程 全文檢索(Full-Text Retrieval)以文字作為檢索物件,找出含有指定詞彙的文字。全面、準確和快速是

Lucene&全文檢索

目錄結構: 1.全文檢索 2.Lucene入門 3.Lucene進階 全文檢索 一, 生活中的搜尋: 1.Windows系統中的有搜尋功能:開啟“我的電腦”,按“F3”就可以使用查詢的功能,查詢指定的檔案或資料夾。搜尋的範圍是整個電腦中的檔案資源。 2.Eclips

Lucene全文檢索--實戰篇

一、配置開發環境 版本:lucene4.10.3 Jdk要求:1.7以上 IDE:Eclipse jar包:  Lucene包:    lucene-core-4.10.3.jar    lucene-analyzers-

Lucene全文檢索--理論篇

【案例】 實現一個檔案的搜尋功能,通過關鍵字搜尋檔案,凡是檔名或檔案內容包括關鍵字的檔案都需要找出來。還可以根據中文詞語進行查詢,並且需要支援多個條件查詢。 本案例中的原始內容就是磁碟上的檔案,如下圖:   1. 全文檢索(Full-text Search) &n

Apache Lucene 全文檢索詳解及開發示例

講解之前,先來分享一些資料   首先呢,學習任何一門新的亦或是舊的開源技術,百度其中一二是最簡單的辦法,先了解其中的大概,思想等等。這裡就貢獻一個講解很到位的ppt。已經被我轉成了PDF,便於蒐藏。   其次,關於第一次程式設計初探,建議還是檢視官方資料。百度到的資料

SSM(二)Lucene全文檢索

前言 大家平時肯定都有用過全文檢索工具,最常用的百度谷歌就是其中的典型。如果自己能夠做一個那是不是想想就逼格滿滿呢。Apache就為我們提供了這樣一個框架,以下就是在實際開發中加入Lucene的一個小Demo。 獲取Maven依賴 首先看一

Lucene全文檢索工具包學習筆記總結

Lucene—-全文檢索的工具包 隸屬於apache(solr也是屬於apache,solr底層的實現是Lucene) 一、資料的分類: 結構化資料 具有固定型別和長度的資料 比如:資料庫(mysql/oracl)中的資料,元資料(windows中的檔案) 非結構化資料

Lucene: 全文檢索的基本原理

一、總論 Lucene是一個高效的,基於Java的全文檢索庫。 所以在瞭解Lucene之前要費一番工夫瞭解一下全文檢索。 那麼什麼叫做全文檢索呢?這要從我們生活中的資料說起。 我們生活中的資料總體分為兩種:結構化資料和非結構化資料。 結構化資料:指具有固定格式或有限長度的資料,如資料庫,元資料等。非結構化

Lucene】Apache Lucene全文檢索引擎架構之搜尋功能

  上一節主要總結了一下Lucene是如何構建索引的,這一節簡單總結一下Lucene中的搜尋功能。主要分為幾個部分,對特定項的搜尋;查詢表示式QueryParser的使用;指定數字範圍內搜尋;指定字串開