- 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
- Microsoft Forefront UAG 2010 Administrator's Handbook
- After Effects全套影視特效制作典型實例(第2版)
- PowerPoint 2019從入門到精通(移動學習版)
- 中文版Photoshop CS6平面設計實例教程(第2版)
- 零基礎學數碼攝影后期
- Flash Facebook Cookbook
- OpenCart 1.4 Template Design Cookbook
- 音樂制作7天速成:Cubase編曲教程
- Learning the Yahoo! User Interface library
- 中文版Photoshop CS5實用教程(第2版)
- 中文版Photoshop CC基礎教程
- 卷珠簾:Photoshop古風插畫技法完全教程
- HBase企業應用開發實戰
- 中文版Photoshop CS6實用教程(第2版)
- 中文版Premiere Pro 2022基礎教程