https://opensemanticsearch.org
オープン セマンティック検索は次のとおりです。
この README.md はソフトウェア開発者向けのドキュメントです。
ユーザーおよび管理者向けのドキュメントはソフトウェア パッケージ/イメージに含まれており、検索ユーザー インターフェイス (メニュー「ヘルプ」) にリンクされています。
検索エンジン アーキテクチャのドキュメントはdocs/doc/modules/README.md
にあります。
この統合された HTML ドキュメントは、構成ファイルmkdocs.yml
を使用して静的サイト ジェネレーター MkDocs によって生成されます。
ドキュメント (Markdown 形式) とチャート (マーメイド形式) のソースは、ディレクトリdocs
で編集できます。
Debian または Ubuntu サーバーにインストールするための deb パッケージ、または Docker コンテナーで実行するための Docker イメージをビルドする方法:
依存関係を含むリポジトリのクローンを作成します。
git clone --recurse-submodules --remote-submodules https://github.com/opensemanticsearch/open-semantic-search.git
cd open-semantic-search
Debian GNU/LinuxまたはUbuntu Linux用のdeb
パッケージをビルドするには、ユーザー root としてビルド スクリプトbuild-deb
呼び出します (ユーザーをsu
またはsudo su
で変更します)。
./build-deb
VirtualBox用のOpen Semantic Desktop Search Appliance を構築する方法についてsrc/open-semantic-desktop-search/README.md
に記載されています。
デフォルトの docker-compose 構成docker-compose.yml
を使用して Docker イメージをビルドします。
docker-compose build
これらのビルド後、構成ファイルdocker-compose.yml
を使用して docker-compose によってすべての Docker イメージ/依存関係/サービスを一緒に開始できます。
以下を実行して環境全体を開始できます。
docker-compose up
これにより、ポート8080
で Web ユーザー インターフェイスが公開されます。
次の URL を使用して、お気に入りのブラウザで Open Semantic Search ユーザー インターフェイスを参照できます。
http://localhost:8080/search/
CI/CD には、いくつかの異なる自動テストがあります。
サブモジュール Open Semantic ETL は、HTTP および REST-API による Solr、spaCy-services、または Tika-Server などのさまざまな強力なサービスを使用および必要とするため、多くの自動テストは、 docker-compose.etl.test.yml
含まれるため、単体テストと統合テストの実行中にこれらのサービスを利用できるようになります。
docker-compose -f docker-compose.etl.test.yml build
docker-compose -f docker-compose.etl.test.yml up
Web ブラウザー内での一部の自動統合テストとエンドツーエンド (E2E) テストは、ブラウザー自動化フレームワーク Playwright と、node.js / javascript ベースのテスト フレームワーク JEST によって制御されます。
test/test.js
で自動テストを拡張できます。
これらは docker イメージDockerfile-test
によって実行され、 docker-compose 環境docker-compose.test.yml
のサービスが必要です。
docker-compose -f docker-compose.test.yml build
docker-compose -f docker-compose.test.yml up
依存関係は、Debian または Ubuntu パッケージのビルドまたはインストール、または Docker イメージのビルドによって自動的に解決されます。
この依存関係に関するドキュメントは、依存関係に関する地獄の問題や他の環境でのインストールのデバッグに役立つ可能性があります。
オープン セマンティック ETL などのコンポーネントの他の Git リポジトリ/サブモジュールへの依存関係は、Git 構成ファイル.gitmodules
で定義されます。
再帰モードで git を使用してこのリポジトリをチェックアウトすると、サブモジュールはサブディレクトリsrc
に自動的にチェックアウトされます。
サブモジュールsrc/tika-server.deb
およびsrc/solr.deb
には、Apache Tika-Server および Apache Solr の JAR が必要です。
そこにない場合は、 build-deb
スクリプト内の wget またはサブモジュールDockerfile
によって Apache Software Foundation からダウンロードされます。
Debian または Ubuntu パッケージ リポジトリで利用可能なツールとライブラリの依存関係は、deb パッケージ構成ファイルDEBIAN/control
のDepends
で定義されています。
Linux ディストリビューションのパッケージとしては利用できないが、Python Package Index (PyPI) で利用できる Python ライブラリの依存関係は、次のように定義されています。
src/open-semantic-etl/src/opensemanticetl/requirements.txt
この依存関係は、Debian/Ubuntu パッケージのDEBIAN/postinst
スクリプト、またはDockerfile
によって構成された Docker build によって、Debian/Ubuntu パッケージのインストール時に自動的にインストールされます。
pip3 install -r /usr/lib/python3/dist-packages/opensemanticetl/requirements.txt
このメイン リポジトリはOpen Semantic ETLやその他のモジュールなどの Git サブモジュールによって構造化されており、分離された Git(ハブ) リポジトリで管理されているため、ほとんどの寄稿者は Github ユーザーインターフェイスにこのリポジトリの「寄稿者」として表示されません。
すべての (現在および以前の) 貢献者に感謝します。
さまざまな形で貢献/支援/後援を行っている場合は、遠慮なく延長してください。