- Sphinx Search Beginner's Guide
- Abbas Ali
- 471字
- 2021-04-09 21:30:53
No, we will not discuss The Great Sphinx of Giza here, we're talking about the other Sphinx, popular in the computing world. Sphinx stands for SQL Phrase Index.
Sphinx is a full-text search engine (generally standalone) which provides fast, relevant, efficient full-text search functionality to third-party applications. It was especially created to facilitate searches on SQL databases and integrates very well with scripting languages; such as PHP, Python, Perl, Ruby, and Java.
At the time of writing this book, the latest stable release of Sphinx was v0.9.9.
Some of the major features of Sphinx include (taken from http://sphinxsearch.com):
- High indexing speed (up to 10 MB/sec on modern CPUs)
- High search speed (average query is under 0.1 sec on 2 to 4 GB of text collection)
- High scalability (up to 100 GB of text, up to 100 Million documents on a single CPU)
- Supports distributed searching (since v.0.9.6)
- Supports MySQL (MyISAM and InnoDB tables are both supported) and PostgreSQL natively
- Supports phrase searching
- Supports phrase proximity ranking, providing good relevance
- Supports English and Russian stemming
- Supports any number of document fields (weights can be changed on the fly)
- Supports document groups
- Supports stopwords, that is, that it indexes only what's most relevant from a given list of words
- Supports different search modes ("match extended", "match all", "match phrase" and "match any" as of v.0.9.5)
- Generic XML interface which greatly simplifies custom integration
- Pure-PHP (that is, NO module compiling and so on) search client API
Back in 2001, there weren't many good solutions for searching in web applications. Andrew Aksyonoff, a Russian developer, was facing difficulties in finding a search engine with features such as good search quality (relevance), high searching speed, and low resource requirements - for example, disk usage and CPU.
He tried a few available solutions and even modified them to suit his needs, but in vain. Eventually he decided to come up with his own search engine, which he later named Sphinx.
After the first few releases of Sphinx, Andrew received good feedback from users. Over a period of time, he decided to continue developing Sphinx and founded Sphinx Technologies Inc.
Today Andrew is the primary developer for Sphinx, along with a few others who joined the wagon. At the time of writing, Sphinx was under heavy development, with regular releases.
Sphinx is a free and open source software which can be distributed or modified under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation, either version 2 or any later version.
However, if you intend to use or embed Sphinx in a project but do not want to disclose the source code as required by GPL, you will need to obtain a commercial license by contacting Sphinx Technologies Inc. at http://sphinxsearch.com/contacts.html
- UG NX 12.0中文版完全自學(xué)一本通
- IBM Cognos 8 Report Studio Cookbook
- Photoshop后期強(qiáng):數(shù)碼攝影后期完全寶典
- Photoshop案例實(shí)戰(zhàn)從入門到精通
- ASP.NET MVC 1.0 Quickly
- AI繪畫:Stable Diffusion從入門到精通
- Adobe創(chuàng)意大學(xué)Photoshop CS5 產(chǎn)品專家認(rèn)證標(biāo)準(zhǔn)教材
- Instant Testing with QUnit
- Blender 2.5 Materials and Textures Cookbook
- UG NX 12.0中文版從入門到精通
- Photoshop+CorelDRAW平面設(shè)計(jì)案例實(shí)戰(zhàn):從入門到精通(視頻自學(xué)全彩版)
- Vulkan實(shí)戰(zhàn)
- Java EE 5 Development with NetBeans 6
- Building SOA/Based Composite Applications Using NetBeans IDE 6
- 從零開始:Photoshop CC 2019設(shè)計(jì)基礎(chǔ)+商業(yè)設(shè)計(jì)實(shí)戰(zhàn)