🛠 Mac/Linux Samba検索改善 作業完了レポート(Gemini)


🛠 Mac/Linux Samba検索改善 作業完了レポート

1. Elasticsearch 日本語解析プラグインの導入

Elasticsearchに日本語を理解させるための「Kuromoji」プラグインをインストールしました。

Bash

# プラグインのインストール
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-kuromoji

# 設定を反映させるためにElasticsearchを再起動
sudo systemctl restart elasticsearch

# インストール済みリストに表示されるか確認
/usr/share/elasticsearch/bin/elasticsearch-plugin list

2. 検索エンジン設計図(mapping.json)の編集

/etc/fs2es-indexer/mapping.json を編集し、日本語解析(Analyzer)を適用しました。

Bash

# 設定ファイルの編集
sudo nano /etc/fs2es-indexer/mapping.json

適用した設定内容(JSON):

JSON

{
  "settings": {
    "index": {
      "analysis": {
        "analyzer": {
          "default": {
            "type": "custom",
            "tokenizer": "kuromoji_tokenizer",
            "filter": [
              "kuromoji_baseform",
              "kuromoji_part_of_speech",
              "cjk_width",
              "lowercase",
              "kuromoji_stemmer"
            ]
          }
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "filename": { "type": "text", "analyzer": "default" },
      "content": { "type": "text", "analyzer": "default" },
      "modified": { "type": "date" },
      "size": { "type": "long" }
    }
  }
}

3. 検索データの完全再構築(リビルド)

古いルールで作成されたインデックスを削除し、新しいルールで全ファイルをスキャンし直しました。

Bash

# 既存の古いインデックスを削除
fs2es-indexer clear

# 全ファイルを再スキャンしてインデックスを作成(時間がかかる場合があります)
fs2es-indexer index

4. Mac側での検索リフレッシュ

Macが古い情報をキャッシュしている場合に備え、Samba共有のインデックスを再認識させるコマンドを実行しました。

Bash

# Macのターミナルで実行(Volumes名は実際の共有名に合わせてください)
mdutil -E /Volumes/SharedFolderName

💡 今後のメンテナンス・メモ

  • 新しいファイルが検索に反映されないとき:fs2es-indexer のサービスが停止していないか、systemctl status fs2es-indexer 等で確認してください。
  • 特定の単語がどうしても出ないとき:ElasticsearchのAPIを使用して、その単語がどう分解されているかテストできます。Bashcurl -X POST "localhost:9200/_analyze" -H 'Content-Type: application/json' -d' {"analyzer": "default", "text": "検索したい単語"} '

この手順書をテキストファイルなどで保存しておくと、将来サーバーを移行したり再構築したりする際に非常に役立ちます。

この他、設定内容の調整や別のトラブルについて、さらにお手伝いできることはありますか?

Linux、Netatalk、Samba、NFSを使用したファイルサーバーについて研究・運用しています。

fsをフォローする
手順

コメント