https://opensemanticsearch.org
開放語意搜尋是:
此 README.md 是軟體開發人員的文件。
使用者和管理員的文件包含在軟體包/圖像中,並連結在搜尋使用者介面(選單「說明」)中。
您可以在docs/doc/modules/README.md
中找到搜尋引擎架構的文件。
此整合 HTML 文件由靜態網站產生器 MkDocs 使用設定檔mkdocs.yml
產生。
文件的來源(Markdown 格式)和圖表(mermaid 格式)可在目錄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建立開放語意桌面搜尋設備記錄在src/open-semantic-desktop-search/README.md
中。
使用預設的 docker-compose 配置docker-compose.yml
建置 Docker 映像:
docker-compose build
建置完成後,所有 Docker 映像/相依性/服務都可以透過 docker-compose 使用設定檔docker-compose.yml
一起啟動。
您可以透過執行以下命令來啟動整個環境:
docker-compose up
這將在連接埠8080
上公開 Web 使用者介面。
您可以透過以下 URL 在您喜歡的瀏覽器中瀏覽開放語意搜尋使用者介面:
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 映像,可以自動解決依賴關係。
有關此依賴項的文件可能有助於調試依賴項地獄問題或其他環境中的安裝:
對其他 Git 儲存庫/元件子模組(例如 Open Semantic ETL)的依賴關係在 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
部分中定義
Python 函式庫的依賴項不作為 Linux 發行版的套件提供,但在 Python 套件索引 (PyPI) 中定義,定義於
src/open-semantic-etl/src/opensemanticetl/requirements.txt
此依賴項將在安裝 Debian/Ubuntu 軟體包時透過 Debian/Ubuntu 軟體包的DEBIAN/postinst
腳本或透過Dockerfile
配置的 docker build 自動安裝
pip3 install -r /usr/lib/python3/dist-packages/opensemanticetl/requirements.txt
大多數貢獻者不會在 Github 使用者介面中顯示為該儲存庫的“貢獻者”,因為該主儲存庫由 Git 子模組(如Open Semantic ETL和其他模組)構成,這些子模組在單獨的Git( hub) 在儲存庫中進行管理。
感謝所有(現任和前任)貢獻者:
如果您以不同形式做出貢獻/支持/贊助,請隨意擴展。