ElasticSearch + FSCrawler + SearchUI 搭建本地文件搜索系統(tǒng)

目錄

  1. 安裝部署 Elasticsearch
  2. 下載FSCrawler
  3. 下載并運(yùn)行 Search-UI
  4. 踩坑路障

Elasticsearch 版本為 7.8.0则拷,fscrawler 版本為 2.7

示例

一、下載并啟動(dòng) Elasticsearch

推薦從國內(nèi)鏡像站下載https://repo.huaweicloud.com/elasticsearch/站叼,選擇指定平臺(tái)的指定版本萎河。

解壓tar-zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz

啟動(dòng)./bin/elasticsearch

測(cè)試curl http://localhost:9200/?pretty

ES啟動(dòng)信息

啟動(dòng)時(shí)可能出現(xiàn)內(nèi)存不夠片效、Xpack這兩個(gè)問題焦除,詳見踩坑路障

二激况、下載FSCrawler

FSCrawler 用于掃描本地文件,并發(fā)送給 Elasticsearch踢京∮辏可做到自動(dòng)掃描宦棺、分詞等功能瓣距。

下載,選擇es7對(duì)應(yīng)的版本:https://fscrawler.readthedocs.io/en/latest/installation.html

解壓unzip fscrawler-es7-2.7-20200717.105855-117.zip

創(chuàng)建Job./bin/fscrawler file_job --config_dir E:\1software\fscrawler-es7-2.7-SNAPSHOT\data

PS E:\1software\fscrawler-es7-2.7-SNAPSHOT> .\bin\fscrawler file_job                                                    13:16:08,201 INFO  [f.p.e.c.f.c.BootstrapChecks] Memory [Free/Total=Percent]: HEAP [10.6mb/247.5mb=4.32%], RAM [8.2gb/15.9gb=51.64%], Swap [9.1gb/19.9gb=45.71%].
13:16:08,230 WARN  [f.p.e.c.f.c.FsCrawlerCli] job [file_job] does not exist
## 創(chuàng)建 file_job 的配置文件
13:16:08,231 INFO  [f.p.e.c.f.c.FsCrawlerCli] Do you want to create it (Y/N)?
## 這個(gè)地址代咸,是我們要去修改的
13:16:10,976 INFO  [f.p.e.c.f.c.FsCrawlerCli] Settings have been created in [C:\Users\user\.fscrawler\file_job\_settings.yaml]. Please review and edit before relaunch

編輯配置蹈丸,位于上面日志輸出的 C:\Users\user\.fscrawler\file_job\_settings.yaml

配置說明詳見 FSCrawler官網(wǎng)

---
name: "file_job"
fs:
## 文件夾掃描地址
  url: "F:\\fstp\\prd"
  update_rate: "15m"
## 包含的文件
  includes:
  - "*/*.html"
  - "*/*.txt"
## 不包含的文件
  excludes:
  - "*/~*"
  json_support: false
  filename_as_id: true
  add_filesize: true
  remove_deleted: true
  add_as_inner_object: false
  store_source: false
  index_content: true
  attributes_support: false
  raw_metadata: false
  xml_support: false
  index_folders: true
  lang_detect: false
  continue_on_error: false
  ocr:
    language: "eng"
    enabled: false
    pdf_strategy: "ocr_and_text"
 ## 輸出的類型
    output_type: "doc"
  follow_symlinks: false
elasticsearch:
  nodes:
  - url: "http://127.0.0.1:9200"
  bulk_size: 100
  flush_interval: "5s"
  byte_size: "10mb"

再次啟動(dòng)fscrawler./bin/fscrawler file_job --config_dir E:\1software\fscrawler-es7-2.7-SNAPSHOT\data

測(cè)試curl http://localhost:9200/file_job/_count

結(jié)果

{
    "count": 191,
    "_shards": {
        "total":1,
        "successful":1,
        "skipped":0,
        "failed":0
    }
}

三、下載Search-UI

下載 Elasticsearch 的搜索 UI 示例呐芥,地址 Github:https://github.com/elastic/search-ui/tree/master/examples/elasticsearch逻杖。

主要是編輯三個(gè)文件:buildRequest.jsrunRequest.js思瘟、buildState.js

buildRequest.js:查詢請(qǐng)求體的構(gòu)建

runRequest.js:ajax 請(qǐng)求的地址荸百,要根據(jù)自己的配置換成代理或者9200

buildState.js:處理響應(yīng)數(shù)據(jù),決定展示數(shù)據(jù)的字段滨攻。如 nps_link 為鏈接地址够话、title 為標(biāo)題、score 為匹配度等

結(jié)果

四光绕、踩坑

  1. ES 啟動(dòng)失敗1

    1. 異常信息:Error occurred during initialization of VM 女嘲,Could not reserve enough space for 2097152KB object heap
    2. 原因:不能為堆對(duì)象保留2G的空間,內(nèi)存空間不足
    3. 解決方案1:修改jvm配置诞帐,編輯config/jvm.options欣尼,修改-Xms512m -Xmx512m 即可。
    4. 解決方案2:增加啟動(dòng)參數(shù)停蕉,ES_JAVA_OPTS="-Xms512m -Xmx512m ./bin/elasticsearch"
    5. 解決方案3:如果都沒有用愕鼓,請(qǐng)檢查Windows的環(huán)境變量钙态,是否是以前裝過ES并做了相關(guān)服務(wù),如果有菇晃,則刪掉之前的配置
  2. ES 啟動(dòng)警告

    1. 警告信息:future versions of Elasticsearch will require Java 11;
    2. 解決方案:警告最好使用java11驯绎,但是會(huì)向下兼容。不需要處理
  3. ES 啟動(dòng)失敗2

    1. 錯(cuò)誤信息:org.elasticsearch.bootstrap.StartupException: ElasticsearchException[X-Pack is not supported and Machine Learning is not available for [windows-x86]; you can use the other X-Pack features (unsupported) by setting xpack.ml.enabled: false in elasticsearch.yml]
    2. 原因:X-Pack 不支持Windows
    3. 解決方案:編輯config/elasticsearch.yml谋旦,添加一行xpack.ml.enabled: false
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末剩失,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子册着,更是在濱河造成了極大的恐慌拴孤,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甲捏,死亡現(xiàn)場(chǎng)離奇詭異演熟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)司顿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門芒粹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人大溜,你說我怎么就攤上這事化漆。” “怎么了钦奋?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵座云,是天一觀的道長。 經(jīng)常有香客問我付材,道長朦拖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任厌衔,我火速辦了婚禮璧帝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘富寿。我一直安慰自己睬隶,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布作喘。 她就那樣靜靜地躺著理疙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪泞坦。 梳的紋絲不亂的頭發(fā)上窖贤,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼赃梧。 笑死滤蝠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的授嘀。 我是一名探鬼主播物咳,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蹄皱!你這毒婦竟也來了览闰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤巷折,失蹤者是張志新(化名)和其女友劉穎压鉴,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锻拘,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡油吭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了署拟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片婉宰。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖推穷,靈堂內(nèi)的尸體忽然破棺而出心包,到底是詐尸還是另有隱情,我是刑警寧澤缨恒,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布谴咸,位于F島的核電站,受9級(jí)特大地震影響骗露,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜血巍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一萧锉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧述寡,春花似錦柿隙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至螟炫,卻和暖如春波附,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來泰國打工掸屡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留封寞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓仅财,卻偏偏與公主長得像狈究,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子盏求,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355