ScrapBook及びSave Page WEで保存したWebページをApache Solrで検索できるようにしてみた(その1)
以前、ローカルに保存したWebページのインデックス作成について書きました。
ScrapBookのリンク静的HTMLファイル作成スクリプト
Save Page WE及びScrapBookのインデックスリンク静的HTMLファイル作成スクリプト
ファイル数が増えてきたこともあり、今回はこれまで蓄積してきたWebページをApache Solrを使ってテキスト検索できるようにしてみましたので、その手順をメモ。
今回はその事前準備として、macOS Catalina起動時にApache 2及びApache Solrが自動起動するように設定します。さらに、蓄積されたWebページをインデキシングするまでを扱います。
私の環境はmacOS Catalinaですが、CatalinaにおけるApache 2の設定は次のWebサイトをご覧ください。
Setting up a local web server on macOS 10.15 “Catalina” : Apple Community
Apache Solrインストール準備としてJavaが利用可能である必要があります。
$ java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
ホームディレクトリにApache Solrを~/solrとしてインストールした前提で説明します。”/bin/bash --login /Users/[ユーザ名]/solr/bin/solr start”を実行するAutomator appを作成します。このAutomator appを「ユーザとグループ」のログイン項目に登録することにより、macログイン時に自動的にApache Solrを起動します。
ディフォルトでは、Webブラウザからlocalhost:8983にアクセスすると以下の図のとおりの管理画面が表示されます。
scrapbookコアを作成するには、Apache Solrのディレクトリから次のコマンドを実行します。
$ ./bin/solr create -c scrapbook
インデキシングのためのスクリプト例を示します。このスクリプトはApache Solrディレクトリ配下の例えばmyscriptディレクトリに配置されていることを前提としています。
mkscbk.sh
#!/bin/sh
begin=19000101000000
end=99999999999999
core='scrapbook'
program='[path to]/script/viewFileList.py'
htmlfile='[path to]/scrapbook_top.html'
listfile='/[path to]/listfile.txt'
opt=FALSE
while getopts ab:e: option; do
case "$option"
in
a) begin=$begin
end=$end
opt=TRUE;;
b) begin=$OPTARG
opt=TRUE;;
e) end=$OPTARG
opt=TRUE;;
\?) echo "Usage: mkscbk.sh [-a] [-b n] [-e n]"
echo " -a means to be indexed for all documents"
echo " -b means to be indexed for documents stored at n (YYYYMMDD
HHMMSS) or newer"
echo " -e means to be indexed for documents stored at n (YYYYMMDDHHMMSS) or older"
exit 1;;
esac
done
if [ $opt = FALSE ] ; then
echo "lack of option"
exit 1
fi
if [ $begin -lt 19000101000000 -o $begin -gt 99999999999999 ] ; then
echo "unexpected number of begin"
exit 1
fi
if [ $end -lt 19000101000000 -o $end -gt 99999999999999 ] ; then
echo "unexpected number of begin"
exit 1
fi
python $program $htmlfile | cut -f 1,2 | awk -v begin=$begin -v end=$end '{if($1>=begin && $1<=end)print $0}' | sort -k1,1 | cut -f 2 | tr '\n' '\0' | xargs -0 ../bin/post -c $core
python $program $htmlfile > $listfile
# EOF
ここで、python viewFileList.py scrapbook_top.htmlは、トップのインデックスHTMLファイルから、作成日時(16桁),ファイル,タイトル,ソースURL,カテゴリ名,当該カテゴリのインデックスHTMLファイル,の各項目をタブ区切りにしたレコードを出力するプログラム実行コマンドです(pythonプログラムコードは割愛)。
Apache Solrにおけるscrapbookコア管理画面
キーワード'python'を指定したテキスト検索例
無事検索できているようです。
| 固定リンク
« WSLでJupyter Labを使う&ショートカット・アイコンから実行する | トップページ | ScrapBook及びSave Page WEで保存したWebページをApache Solrで検索できるようにしてみた(その2) »
「パソコン・インターネット」カテゴリの記事
- Amazon Echo Show と Amazon Basic Smart Plug を組み合わせた見守り(2026.01.03)
- フレッツADSL最終終了(2025.12.31)
- AlexaからChatGPTモデルのAIアシスタントと会話するスキルをつくってみた(2025年9月)(2025.09.16)
- Gemini CLIから利用するMCPサーバを自作してSolr全文検索と文献取得するRAGを試してみた(2025.09.06)
- ベクトル検索でなくたっていいじゃない ‐ Solrの全文検索とGemini CLIを使ったなんちゃってRAG ‐(2025.08.21)




コメント