記事ディレクトリ
1.需要分析
- 社内には設備整備室の資料が多数あります。設備整備員は、特定の整備知識を取得する際に、ディレクトリのインデックスファイルからサーバー上で関連する可能性のあるファイルの一覧を見つけ、1つずつ開く必要があります。検索用。非効率的で貧弱な経験。
- ユーザーは、既存のドキュメントシステム(準備、リリース、アップグレード、および特別な担当者によるその他のドキュメント管理管理)を変更せずに使用し、キーワードに従って検索できるドキュメント検索エンジンを構築して、効率とエクスペリエンスを向上させたいと考えています。
- この記事では、ElasticSearch(オープンソース検索エンジン)、FSCrawler(ファイルクローラー、elasticsearchへのドキュメントの「アップロード」)SearchUI(elasticsearchを使用してAPIのフロントエンドページを検索する)を通じてファイル検索エンジンシステムを構築します。
二、ElasticSearch
-
まず、ファイルを(https://www.elastic.co/cn/downloads/elasticsearchからダウンロードします(この記事では、Windowsバージョンを例として取り上げます)。
-
ファイルを解凍します
-
jdkをダウンロードしてインストールし、Java環境変数を設定します
-
解凍したbinディレクトリに移動し、elasticsearch.batファイルをダブルクリックして実行します
-
ElasticSearchが正常に開始されたことを確認します。ブラウザを使用してhttp:// localhost:9200にアクセスし、次のページを参照してください。これは、インストールが成功したことを意味します。
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ファイルを順番に変更します
- search.jsを変更します:ジョブパスを設定します
- buildRequest.jsを変更します
- buildState.jsを変更する
- 注:ユーザーが検索ページのファイルリンクから直接ファイルをダウンロードできるようにするために、IISを介してファイルダウンロードサービスを構築します。
- このアドレスはbuildState.jsに反映されます
- 最後に、app.jsを変更して、検索によって返されたページを検索フィールド名と一致させます
5、テストを実行します
- 依存関係をインストールしてプログラムを実行します
# 安装
- npm install
# 运行
- npm start
-
FSCrawlerによって監視されているディレクトリにファイルを配置します
-
検索パフォーマンスのテスト