smellman's Broken Diary

クソみたいなもんです

2022/04/25の日記 - オープンソース全文検索エンジン FESSを触ってみた

fess.codelibs.org

PDFの全文検索システムを作りたいという要望が日本UNIXユーザ会で出てきたので、検証をしてみた。

サンプルのdocker-composeファイルは分割されているので、これを一つにまとめて、/etc/wallを持ってきたディレクトリで以下のようなファイルを作って見た。

services:
  fess01:
    image: ghcr.io/codelibs/fess:14.0.1
    container_name: fess01
    environment:
      - "ES_HTTP_URL=http://es01:9200"
      - "FESS_DICTIONARY_PATH=${FESS_DICTIONARY_PATH:-/usr/share/elasticsearch/config/dictionary/}"
    volumes:
      - ./:/data
    ports:
      - "8080:8080"
    networks:
      - esnet
    depends_on:
      - es01
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "5"
  es01:
    image: ghcr.io/codelibs/fess-elasticsearch:8.1.0
    container_name: es01
    environment:
      - node.name=es01
      - discovery.seed_hosts=es01
      - cluster.initial_master_nodes=es01
      - cluster.name=fess-es
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
      - "FESS_DICTIONARY_PATH=/usr/share/elasticsearch/config/dictionary"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65535
        hard: 65535
    volumes:
      - esdata01:/usr/share/elasticsearch/data
      - esdictionary01:/usr/share/elasticsearch/config/dictionary
    ports:
      - 9200:9200
    networks:
      - esnet
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "5"
networks:
  esnet:
    driver: bridge
volumes:
  esdata01:
    driver: local
  esdictionary01:
    driver: local

あとはクローラーを管理画面で作るときに file:/data をパスにすればOKだった。

お手軽すぎる。

ただ、ファイルのダウンロードとかまではしてくれないので、そこはもうちょい調べれば良さそう。

今日の音楽は、 IMMORTAL HARDCORE!!!! VOL.6 -Black Out- を。

よいハードコアを!

ではでは。