簡體   English   中英

Typo3 Solr,如何設置solr 5.X

[英]Typo3 Solr, how to setup solr 5.X

美好的一天!

我們正在嘗試將Solr設置為可與TYPO3 6.2一起使用,但沒有取得任何成功。 我們的第一個嘗試是使用TYPO3提供的“ install-solr.sh”腳本,以在Tomcat 6上運行Solr 4.8。

不幸的是,該腳本未在我們的(Debian)服務器上安裝Solr,並且我無法使其運行。

我們嘗試的第二件事是在沒有Tomcat的情況下安裝Solr(5.x),但我們無法為TYPO3配置它。

為TYPO3 6.2設置Solr的最佳方法是什么,以及如何為TYPO3進行配置?

親切的問候!

我嘗試了同樣的方法,但失敗了。 我得出的結論是,即使您手動安裝,Solr 5.x與3.0.0和3.0.1版中的擴展solr不兼容。 EXT:solr中有一些配置在Solr 5.x中不再起作用。 我試圖解決此問題,但它發生了太多更改。

我可以確認手動安裝后,最新版本的4.x分支(4.10.4)與EXT:solr可以正常工作。 使用Solr服務器不會暴露在Web上,使用舊版本甚至4.8都不應該是問題。

要使用Solr 4.x,只需下載Solr存檔並將其解壓縮到磁盤上的某個位置即可。 這是一個用於啟動和停止Solr 4.x-Server的簡單腳本,您只需要輸入路徑即可。 我不太確定我從哪里得到的,也許它甚至包含在EXT:solr

##################################################
# Environment
##################################################

# Adapt those paths
JAVA="/usr/bin/java"
SOLR_DATA_DIR="/path/to/your/project/.../typo3conf/ext/solr/Resources/Solr"
SOLR_CODE_DIR="/path/where/you/extracted/solr/to/..."

SOLR_PID="$SOLR_DATA_DIR/solr.pid"
SOLR_PORT="8983"
SOLR_HOST="127.0.0.1"
SOLR_RUNDIR="$SOLR_CODE_DIR/example"
SOLR_JAR="$SOLR_RUNDIR/start.jar"
SOLR_HOME="$SOLR_DATA_DIR"

RUN_ARGS=("-Dsolr.solr.home=$SOLR_HOME" "-Djetty.port=$SOLR_PORT" "-Djetty.host=$SOLR_HOST" -jar "$SOLR_JAR")

##################################################
# Helper functions
##################################################
usage()
{
    echo "Usage: ${0##*/} {start|stop|status}"
    exit 1
}

running()
{
  local PID=$(cat "$1" 2>/dev/null) || return 1
  kill -0 "$PID" 2>/dev/null
}

##################################################
# Do the action
##################################################
case "$1" in
  start)
    echo "Starting Solr: "

    if start-stop-daemon --verbose --start --pidfile "$SOLR_PID" --make-pidfile --chdir "$SOLR_RUNDIR" --background --exec "$JAVA" -- "${RUN_ARGS[@]}" --daemon
    then
      sleep 2
      if running "$SOLR_PID"
      then
    echo "OK"
      else
    echo "FAILED"
      fi
    fi

    ;;

  stop)
    echo "Stopping Solr: "

    start-stop-daemon --stop --pidfile "$SOLR_PID" --chdir "$SOLR_RUNDIR" --exec "$JAVA" --signal HUP

    TIMEOUT=30
    while running "$SOLR_PID"; do
      sleep 1

      if (( TIMEOUT-- == 0 )); then
    echo "Process is still running after 30 seconds. Wait a bit longer, or stop it manually."
    exit 1
      fi
    done

    rm -f "$SOLR_PID"
    echo OK

    ;;

  status)
    if [ -f "$SOLR_PID" ]
    then
      echo "Solr is running, pid=$(< "$SOLR_PID")"
      exit 0
    fi
    echo "Solr is not running"
    exit 1
    ;;

  *)
    usage

    ;;
esac

如果使用腳本時Solr無法正確啟動,請嘗試手動執行以下命令行,以便您可以看到堆棧跟蹤(將變量手動替換為其實際值):

/usr/bin/java -Dsolr.solr.home=$SOLR_HOME -Djetty.port=$SOLR_PORT -Djetty.host=$SOLR_HOST -jar $SOLR_JAR

約斯特回答得很完美,但我想補充以下內容。

如果您想通過Typo3提供的“ install-solr.ssh”腳本安裝Solr,請注意,文件中用於獲取solr的鏈接已不存在。 因此,當您運行它時,它將僅安裝tomcat。

如果要更改它,請執行以下操作。

搜索cecho "Downloading Apache Solr $SOLR_VERSION" $green wget --progress=bar:force http://mirror.dkd.de/apache/lucene/solr/$SOLR_VERSION/solr-$SOLR_VERSION.zip 2>&1 | progressfilt cecho "Downloading Apache Solr $SOLR_VERSION" $green wget --progress=bar:force http://mirror.dkd.de/apache/lucene/solr/$SOLR_VERSION/solr-$SOLR_VERSION.zip 2>&1 | progressfilt

並替換為:

cecho "Downloading Apache Solr $SOLR_VERSION" $green wget --progress=bar:force http://archive.apache.org/dist/lucene/solr/$SOLR_VERSION/solr-$SOLR_VERSION.zip 2>&1 | progressfilt

然后它將正常安裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM