1. 程式人生 > >luence全文檢索本地磁碟,可構建磁碟搜尋引擎,有程式碼

luence全文檢索本地磁碟,可構建磁碟搜尋引擎,有程式碼

我使用的maven新增的jar包。maven中的pom.xml中新增lucene的jar包的方法是: 
Xml程式碼  收藏程式碼
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.   <modelVersion>4.0.0</modelVersion
    >  
  4.   <groupId>com.rwg.lucene</groupId>  
  5.   <artifactId>cms</artifactId>  
  6.   <version>0.0.1-SNAPSHOT</version>  
  7.   <packaging>jar</packaging>  
  8.   <name>lucene</name>  
  9.   <url>http://maven.apache.org</url>  
  10.   <properties>  
  11.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  12.   </properties>  
  13.   <build>  
  14.     <finalName>webapp</finalName>  
  15.     <sourceDirectory>src/main/java/</sourceDirectory>  
  16.     <testSourceDirectory>src/test/java/</testSourceDirectory
    >  
  17.     <plugins>  
  18.         <plugin>  
  19.             <groupId>org.apache.maven.plugins</groupId>  
  20.             <artifactId>maven-compiler-plugin</artifactId>  
  21.             <version>2.3.2</version>  
  22.             <configuration>  
  23.                 <source>1.6</source>  
  24.                 <target>1.6</target>  
  25.                 <encoding>UTF-8</encoding>  
  26.             </configuration>  
  27.         </plugin>  
  28.         <plugin>  
  29.             <groupId>org.apache.maven.plugins</groupId>  
  30.             <artifactId>maven-resources-plugin</artifactId>  
  31.             <version>2.4.3</version>  
  32.             <configuration>  
  33.                 <encoding>UTF-8</encoding>  
  34.             </configuration>  
  35.         </plugin>  
  36.         <plugin>  
  37.             <groupId>org.mortbay.jetty</groupId>  
  38.             <artifactId>jetty-maven-plugin</artifactId>  
  39.             <version>8.0.0.M1</version>  
  40.         </plugin>  
  41.         <plugin>  
  42.             <groupId>org.apache.maven.plugins</groupId>  
  43.             <artifactId>maven-eclipse-plugin</artifactId>  
  44.             <version>2.8</version>  
  45.             <configuration>  
  46.                 <addVersionToProjectName>false</addVersionToProjectName>  
  47.                 <useProjectReferences>false</useProjectReferences>  
  48.                 <wtpmanifest>false</wtpmanifest>  
  49.                 <wtpapplicationxml>true</wtpapplicationxml>  
  50.                 <wtpversion>1.6</wtpversion>  
  51.                 <additionalBuildcommands>  
  52.                     <buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>  
  53.                     <buildcommand>org.eclipse.wst.common.project.facet.core.builder</buildcommand>  
  54.                     <buildcommand>org.eclipse.wst.validation.validationbuilder</buildcommand>  
  55.                 </additionalBuildcommands>  
  56.             </configuration>  
  57.         </plugin>  
  58.         <plugin>  
  59.             <groupId>org.apache.maven.plugins</groupId>  
  60.             <artifactId>maven-war-plugin</artifactId>  
  61.             <version>2.1.1</version>  
  62.             <configuration>  
  63.                 <warName>webapp</warName>  
  64.             </configuration>  
  65.         </plugin>  
  66.     </plugins>  
  67.   </build>  
  68. <dependencies>  
  69.      <!-- 此處是所引用的兩個jar包 -->  
  70.         <dependency>  
  71.             <groupId>org.apache.lucene</groupId>  
  72.             <artifactId>lucene-core</artifactId>  
  73.             <version>3.0.2</version>  
  74.             <type>jar</type>  
  75.             <scope>compile</scope>  
  76.         </dependency>  
  77.         <dependency>  
  78.             <groupId>org.apache.lucene</groupId>  
  79.             <artifactId>lucene-demos</artifactId>  
  80.             <version>3.0.2</version>  
  81.             <type>jar</type>  
  82.             <scope>compile</scope>  
  83.         </dependency>  
  84. </dependencies>  
  85. </project>  


     如果不是使用的maven的童鞋見附件下載lucene3.0.2的兩個jar包。 



1:執行第一步(建立索引)程式碼,目的是:將要搜尋的txt檔案的內容根據欄位替換為索引, 
並將替換後的索引儲存到你所指定的資料夾中。 
   簡單來說就是:建立索引檔案。 
Java程式碼  收藏程式碼
  1. package com.rwg.lucene;  
  2. import java.io.BufferedReader;  
  3. import java.io.File;  
  4. import java.io.FileNotFoundException;  
  5. import java.io.FileReader;  
  6. import java.io.IOException;  
  7. import java.util.Date;  
  8. import org.apache.lucene.analysis.standard.StandardAnalyzer;  
  9. import org.apache.lucene.document.Document;  
  10. import org.apache.lucene.document.Field;  
  11. import org.apache.lucene.index.IndexWriter;  
  12. import org.apache.lucene.store.FSDirectory;  
  13. import org.apache.lucene.util.Version;  
  14. /** 
  15. 相關推薦

    luence全文檢索本地磁碟構建磁碟搜尋引擎程式碼

    我使用的maven新增的jar包。maven中的pom.xml中新增lucene的jar包的方法是:  Xml程式碼   <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi

    30天搞定大數據爬蟲項目數據爬蟲、全文檢索、數據視化、爬蟲項目監控

    eat 增刪改 發現 zabb 來講 命令 oca create zabbix 好,開始今天的文章。 今天主要是來說一下怎麽可視化來監控你的爬蟲的狀態。 相信大家在跑爬蟲的過程中,也會好奇自己養的爬蟲一分鐘可以爬多少頁面,多大的數據量,當然查詢的方式多種多樣。今天我

    luence全文檢索(簡介)

    through 提取關鍵字 dna 環境 director 中國 ade equals 關鍵字查詢 剛開始做全文檢索也是找了很多資料但是網上的都不是很齊全luence是個很不多的工具 Lucene4.0的官網文檔:http://lucene.apache.org/core/

    Android PullToRefresh 下拉刷新上拉很多其它支持ScrollViewListView方便拓展GridViewWebView等

    包含 ict 重置 refresh 分享 .com img tar fcm 在寫著東西之前。從網上找到非常多這方面的源代碼,可是基本沒有找到愜意的。包含在GitHub上的比較有名的Android-PullToRefresh-master。思來想去還是自己寫吧。當然當中借

    迭代器迭代物件生成器區別

    迭代物件 :實現__iter__方法,返回迭代器。不需要顯示繼承Iterable, 迭代器: 實現_iter__方法,__next__方法,不需要顯示繼承Iterator from collections import Iterable,Iterator def generator():

    python的迭代器迭代物件生成器理解

    上篇文章, python itertools 裡面實現的groupby方法。裡面用到了object, id, iter等很基礎的方法, 看的有點暈。這裡重新整理一下迭代器,可迭代物件, 生成器。複習一下,加深印象。 python語言很容易上手。比如for迴圈。 a = [1, 2,

    一個任務管理類的c++實現直接通過編譯目的:提高效率防止頻繁申請記憶體和釋放

    #include <iostream> #include <pthread.h> #include <semaphore.h> #include <errno.h> #include <queue> using namespace std;

    VS2015編寫的MFC上位機波特率調動態顯示曲線顯示三維

    coo app all hold content flow hid har oid VS2015編寫的MFC上位機,波特率可調,可動態顯示曲線,可顯示三維 2016年01月14日 11:40:28 博博有個大大大的Dream 閱讀數:9375 版權

    PHP對接APP的介面類返回json資料xml資料

    <?php /* * APP資料處理類 * 作 者:永樂開發 * 日 期:2017.7.31 * 郵 箱:[email protected] * 博 客:http://www.isu5.cn http://it.alipea.com */ class R

    卜若的程式碼筆記系列-mysql系列-第三章:通過cmd登入mysql實現遠端登入以及退出切換賬號

    1.通過cmd進入到各個硬碟 舉個例子:比如我現在要進入到c盤 直接: C:\Users\Skady_cat>cd/ 或者: C:\Users\Skady_cat>d: 然後cd到mysql的根目錄,如果預設安裝的話應該是這個目錄 C:\Progra

    利用棧求表示式的值供小學生作業並能給出分數

    設計一個系統,能夠計算使用者輸入的代數表示式(混合四則運算),並能接收使用者自己輸入的運算結果同時給出使用者計算正確與否的判斷,具體要求如下: 1.使用者迴圈輸入不通的算術表示式(每個表示式以“#”結束),程式利用棧求解各個表示式的值; 2.程式每計算完一個表示式,就要求使

    Java ZXing 生成QRCode二維碼的兩種方式設定圖片大小和外白色邊框大小

    QRGen在ZXing基礎上開發,這個庫使得利用Java生成QR碼變為小菜一碟。它需要依賴ZXing,所以生成圖案時你同時需要ZXing和QRGen的jar包。 QR 碼最常見的應用便是為網站中一個特定的網頁或下載頁帶來流量。因此,QR碼常常會編碼URL或網站地址,使用者可以通過手機攝像頭掃描,並在其瀏覽器中

    Java 中15種鎖的介紹:公平鎖重入鎖獨享鎖互斥鎖樂觀鎖分段鎖自旋鎖等等

    Java 中15種鎖的介紹 在讀很多併發文章中,會提及各種各樣鎖如公平鎖,樂觀鎖等等,這篇文章介紹各種鎖的分類。介紹的內容如下: 公平鎖 / 非公平鎖 可重入鎖 / 不可重入鎖 獨享鎖 / 共享鎖 互斥鎖 / 讀寫鎖 樂觀鎖 / 悲觀鎖 分段鎖

    用C++實現七種排序演算法選擇排序方法簡單易懂。

           最近學習演算法,先從簡答的開始學起,用C++做了一個實現七種排序演算法的介面,可選擇想要用的選擇演算法,不過,由於時間倉促,沒有來得及優化和程式碼註釋,後期還會加上程式碼註釋,隨便優化一下程式碼,提高執行效率; /***********************

    關於feature map, 神經元個數訓練引數個數 卷積核大小 的一些總結

    輸入input: 32 x 32 的影象使用:    6個 5x5  stride為 1的卷積核神經元 個數: (32-5+1) * (32 -5 +1) = 28 * 28 個。也就是每一個feature map的大小就是28 * 28 。  其中,32-5是卷積核可以滑過並得到一次計算結果的次數(因為步幅

    python迭代迭代物件生成器迭代器--

    python迭代 給定一個list或tuple,我們可以通過for迴圈來遍歷這個list或tuple,這種遍歷我們稱為迭代(Iteration) 可迭代物件: List:for a in List dict:(因為dict的儲存不是按照list的方式順序

    Java 種15種鎖的介紹:公平鎖重入鎖獨享鎖互斥鎖等等...

    Java 中15種鎖的介紹 在讀很多併發文章中,會提及各種各樣鎖如公平鎖,樂觀鎖等等,這篇文章介紹各種鎖的分類。介紹的內容如下: 公平鎖 / 非公平鎖 可重入鎖 / 不可重入鎖 獨享鎖 / 共享鎖 互斥鎖 / 讀寫鎖 樂觀鎖 / 悲觀鎖 分段鎖 偏向

    多表查詢笛卡爾積 視化工具pymysql查詢與增刪改 sql 註水

    增刪改 log .com cursor 執行 gin lar 模塊 內容 sql 註水import pymysqlconn=pymysql.connect(host=‘localhost‘,port=3306, db=‘db1‘,use

    Python迭代器迭代物件生成器

    1. 迭代器 迭代器是訪問集合元素的一種方式。迭代器物件從集合的第一個元素開始訪問,知道所有的元素被訪問完結束。迭代器只能往前不會後退,不過這也沒什麼,因為人們很少在迭代途中往後退。 1.1 使用迭代器的優點 對於原生支援隨機訪問的資料結構(

    Pythoh 迭代器迭代物件容器生成器

    容器一般都是可迭代物件,是一種資料結構(data structure)。很多容器(list,dict,tuple)都是可迭代物件。但是可迭代物件不一定是一種資料結構,比如開啟的檔案或者sockets。可迭代物件可以(can)返回迭代器。每一個可迭代物件在程式碼都實現了__it