ElasticSearch、FSCrawler、SearchUIを介してファイル検索エンジンを構築する方法を教えてください

1.需要分析

  • 社内には設備整備室の資料が多数あります。設備整備員は、特定の整備知識を取得する際に、ディレクトリのインデックスファイルからサーバー上で関連する可能性のあるファイルの一覧を見つけ、1つずつ開く必要があります。検索用。非効率的で貧弱な経験。
  • ユーザーは、既存のドキュメントシステム(準備、リリース、アップグレード、および特別な担当者によるその他のドキュメント管理管理)を変更せずに使用し、キーワードに従って検索できるドキュメント検索エンジンを構築して、効率とエクスペリエンスを向上させたいと考えています。
  • この記事では、ElasticSearch(オープンソース検索エンジン)、FSCrawler(ファイルクローラー、elasticsearchへのドキュメントの「アップロード」)SearchUI(elasticsearchを使用してAPIのフロントエンドページを検索する)を通じてファイル検索エンジンシステムを構築します。
    ここに画像の説明を挿入

二、ElasticSearch

3.FSCrawle

  • https://fscrawler.readthedocs.io/en/fscrawler-2.7/installation.htmlからファイルをダウンロードしましょう(この記事では、例としてWindowsバージョンを使用しています)。
    ここに画像の説明を挿入
  • ファイルを解凍します
    ここに画像の説明を挿入
    ここに画像の説明を挿入
  • ファイルクロールジョブを作成する
    ここに画像の説明を挿入
  • 上記のコマンドを実行した後、プログラムはジョブを作成するかどうかを確認します

ここに画像の説明を挿入

  • yを選択すると、プログラムはユーザーディレクトリに次の構成ファイルを作成します。タスクを構成する必要があります
    ここに画像の説明を挿入
---
name: "test"
fs:
  url: "d:\\test" # 监控windows下的D盘test目录
  update_rate: "15m" # 间隔15分进行扫描
  excludes:
  - "*/~*"  #排除以~开头的文件
  json_support: false
  filename_as_id: false
  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: true
    pdf_strategy: "ocr_and_text"
  follow_symlinks: false
elasticsearch:
  nodes:
  - url: "http://127.0.0.1:9200"
  bulk_size: 100
  flush_interval: "5s"
  byte_size: "10mb"
  ssl_verification: true

ここに画像の説明を挿入

  • 構成を保存した後、FSCrawleクローラーを開始できます。

ここに画像の説明を挿入
ここに画像の説明を挿入

  • 起動が成功すると、元の構成ディレクトリに追加のステータスファイルが見つかります。このファイルには、ファイルクローラーの通常の実行レコードが記録されます。
    ここに画像の説明を挿入
{
    
    
  "name" : "test",
  "lastrun" : "2021-11-27T09:00:16.2043064",
  "indexed" : 0,
  "deleted" : 0
}

三、SearchUI

  • 最後に、 https ://github.com/elastic/search-uiからフロントエンドページをダウンロードします。
    ここに画像の説明を挿入
  • ファイルが解凍されたら、vscodeを使用してexamples\elasticsearchディレクトリを開きます。
    ここに画像の説明を挿入
  • そして、search.js、buildRequest.js、buildState.jsファイルを順番に変更します
    ここに画像の説明を挿入
  1. search.jsを変更します:ジョブパスを設定します
    ここに画像の説明を挿入
  2. buildRequest.jsを変更します
    ここに画像の説明を挿入
    ここに画像の説明を挿入
  3. buildState.jsを変更する
    ここに画像の説明を挿入
  • 注:ユーザーが検索ページのファイルリンクから直接ファイルをダウンロードできるようにするために、IISを介してファイルダウンロードサービスを構築します。
    ここに画像の説明を挿入
    ここに画像の説明を挿入
  • このアドレスはbuildState.jsに反映されます
    ここに画像の説明を挿入
  1. 最後に、app.jsを変更して、検索によって返されたページを検索フィールド名と一致させます
    ここに画像の説明を挿入

5、テストを実行します

  • 依存関係をインストールしてプログラムを実行します
# 安装
- npm install
# 运行
- npm start

ここに画像の説明を挿入

  • FSCrawlerによって監視されているディレクトリにファイルを配置します
    ここに画像の説明を挿入

  • 検索パフォーマンスのテスト
    ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/jpgzhu/article/details/121515258