1、准备
硬件:内存8g以上(我编译的时候8g不行,需要16g)
jdk>=1.8 安装、环境配好
官方建议cmake 3.2.2; g++>=4.8.2; bison>=3.0 ;(g++版本太高也不行;亲测版本:cmake 3.2.2; g++ 5; bison 3.0.4 )
2、g++版本更换(满足版本可忽略)
sudo apt-get install -y gcc-5
sudo apt-get install -y g++-5
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-5 gcc
sudo rm g++
sudo ln -s g++-5 g++
3、下载anyq源码
cd /opt
git clone https://github.com/baidu/AnyQ
mkdir build && cd build
4、编译(最重要并且漫长的步骤,需要VPN,否则会让你怀疑人生,可以用clash等)
cmake .. && make
5、如果报关于xgboost的错,修改 ../cmake/external/xgboost.cmake中的如下片断中,(改完后删除build下文件,重新编译)
ExternalProject_Add(
extern_xgboost
${EXTERNAL_PROJECT_LOG_ARGS}
DOWNLOAD_DIR ${XGBOOST_SOURCES_DIR}/src/
DOWNLOAD_COMMAND git clone --recursive https://github.com/dmlc/xgboost.git #这里改为:git clone -b v0.90 --recursive https://github.com/dmlc/xgboost.git
DOWNLOAD_NO_PROGRESS 1
PREFIX ${XGBOOST_SOURCES_DIR}
BUILD_COMMAND ""
UPDATE_COMMAND ""
CONFIGURE_COMMAND ""
INSTALL_COMMAND cd ${XGBOOST_INSTALL_DIR} && make -j4
BUILD_IN_SOURCE 1
)
6、构建索引、配置
# 获取anyq定制solr,anyq示例配置
cp ../tools/anyq_deps.sh .
sh anyq_deps.sh
# 启动solr, 依赖python-json, jdk>=1.8
cp ../tools/solr -rp solr_script
sh solr_script/anyq_solr.sh solr_script/sample_docs
7、运行
./run_server
8、如果运行报关于 libiomp5.so的错误,原因是:找不到动态库
cd /etc/ld.so.conf.d/
mkdir anyq-libs.conf 内容为:/opt/AnyQ/build/third_party/lib
sudo ldconfig
9、启动完成后,solr端口:8900,anyq端口:8999,访问:http://127.0.0.1:8999/anyq?question=使用什么帐号
10、编译不易,放平心态,失败重头再来(build下 rm -rf *)