- Sphinx Search Beginner's Guide
- Abbas Ali
- 533字
- 2021-04-09 21:30:53
- Download the latest stable version of the sphinx source from http://sphinxsearch.com/downloads.html.
- Extract it anywhere on your file system and go inside the extracted
sphinx
directory:$ tar -xzvf sphinx-0.9.9.tar.gz $ cd sphinx-0.9.9
- Run the
configure
utility:$ ./configure --prefix=/usr/local/sphinx
- Build from the source:
$ make
- Install the application (run as root):
$ make install
We downloaded the latest release of Sphinx and extracted it using the tar
command. We then ran the configure
command which gets the details of our machine and also checks for all dependencies. If any of the dependency is missing, it will throw an error. We will take a look at possible dependency issues in a while.
Once we are done with configure
, the make
command will build (compile) the source code. After that, make install
will actually install the binaries to respective location as specified in --prefix
option to the configure
.
There are many options that can be passed to the configure
command but we will take a look at a few important ones:
--prefix=/path:
This option specifies the path to install the sphinx binaries. In this book it is assumed that sphinx was configured with--prefix=/usr/local/sphinx
so it is recommended that you configure your path with the same prefix.--with-mysql=/path:
Sphinx needs to know where to find MySQL's include and library files. It auto-detects this most of the time but if for any reason it fails, you can supply the path here.--with-pgsql=/path:
Same as-with-mysql
but for PostgreSQL.
Most of the common errors you would find while configuring sphinx are related to missing MySQL include files.

This can be caused either because Sphinx's auto detection for MySQL include path failed, or MySQL's devel package has not been installed on your machine. If MySQL's devel package is not installed, you can install it using the Software Package Manager (apt or yum) of your operating system. In case of Ubuntu, the package is called libmysqlclient16-dev
.
You need to follow pretty much the same steps if PostgreSQL include files are missing. In this book we will be primarily using MySQL for all examples.
Listed next are a few errors or issues that may arise during Sphinx's installation make can sometimes fail with the following error:
/bin/sh: g++: command not found make[1]: *** [libsphinx_a-sphinx.o] Error 127
This may be because of a missing gcc-c++
package. Try installing it.
At times you might get compile-time errors like:
sphinx.cpp:67: error: invalid application of `sizeof' to incomplete type `Private::SizeError<false>'
To fix the above error try editing sphinx.h
and replace off_t
with DWORD
in a typedef
for SphOffset_t
.
#define STDOUT_FILENO fileno(stdout) #else typedef DWORD SphOffset_t; #endif
One drawback of doing this would be that you won't be able to use full-text indexes larger than 2 GB.
- PS是這樣玩的:輕松掌握 Photoshop 通關秘籍
- 商用級AIGC繪畫創作與技巧(Midjourney+Stable Diffusion)
- Photoshop CS6完全自學案例教程(微課版)
- 中文版 Photoshop CC 從入門到精通
- Word 2010實戰技巧精粹
- Premiere pro CC中文版自學視頻教程
- Adobe創意大學Photoshop產品專家認證標準教材(CS6修訂版)
- 中文版Maya 2016實用教程
- Premiere Pro短視頻剪輯零基礎一本通
- Oracle Fusion Middleware Patterns
- Professional Azure SQL Database Administration
- Cinema 4D基礎與實戰教程
- 邊做邊學:CorelDRAW X6圖形設計案例教程(第2版)(微課版)
- Oracle Web Services Manager
- Photoshop 2020實戰從入門到精通(超值版)