| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- {
- "a78ddc0790c67673fdd07963ba1e61c6b977cfee8ae091185a3352e7b0f8aa29": {
- "original": "The binary providing the UDF is called `sphinx.so` and should be automatically built and installed in the appropriate location along with SphinxSE. If it doesn't install automatically for some reason, locate `sphinx.so` in the build directory and copy it to your MySQL instance's plugins directory. Once done, register the UDF with the following statement:\n\nCODE_BLOCK_42\n\nThe function name *must* be sphinx_snippets; you cannot use an arbitrary name. The function arguments are as follows:\n\n**Prototype:** function sphinx_snippets ( document, table, words [, options] );\n\nThe document and words arguments can be either strings or table columns. Options must be specified like this: `'value' AS option_name`. For a list of supported options, refer to the [Highlighting section](../Searching/Highlighting.md). The only UDF-specific additional option is called `sphinx` and allows you to specify the searchd location (host and port).\n\nUsage examples:\n\nCODE_BLOCK_43\n<!-- proofread -->\n\n",
- "translations": {
- "chinese": "\u63d0\u4f9b UDF \u7684\u4e8c\u8fdb\u5236\u6587\u4ef6\u540d\u4e3a `sphinx.so`\uff0c\u5e94\u5f53\u4e0e SphinxSE \u4e00\u8d77\u81ea\u52a8\u6784\u5efa\u5e76\u5b89\u88c5\u5230\u76f8\u5e94\u4f4d\u7f6e\u3002\u5982\u679c\u7531\u4e8e\u67d0\u79cd\u539f\u56e0\u6ca1\u6709\u81ea\u52a8\u5b89\u88c5\uff0c\u8bf7\u5728\u6784\u5efa\u76ee\u5f55\u4e2d\u627e\u5230 `sphinx.so`\uff0c\u5e76\u5c06\u5176\u590d\u5236\u5230\u4f60\u7684 MySQL \u5b9e\u4f8b\u7684\u63d2\u4ef6\u76ee\u5f55\u3002\u5b8c\u6210\u540e\uff0c\u4f7f\u7528\u4ee5\u4e0b\u8bed\u53e5\u6ce8\u518c UDF\uff1a\n\nCODE_BLOCK_42\n\n\u51fd\u6570\u540d *\u5fc5\u987b* \u662f sphinx_snippets\uff1b\u4e0d\u80fd\u4f7f\u7528\u4efb\u610f\u540d\u79f0\u3002\u51fd\u6570\u53c2\u6570\u5982\u4e0b\uff1a\n\n**\u539f\u578b\uff1a** function sphinx_snippets ( document, table, words [, options] );\n\ndocument \u548c words \u53c2\u6570\u53ef\u4ee5\u662f\u5b57\u7b26\u4e32\u6216\u8868\u5217\u3002options \u5fc5\u987b\u50cf\u8fd9\u6837\u6307\u5b9a\uff1a`'value' AS option_name`\u3002\u6709\u5173\u652f\u6301\u7684\u9009\u9879\u5217\u8868\uff0c\u8bf7\u53c2\u9605[\u9ad8\u4eae\u90e8\u5206](../Searching/Highlighting.md)\u3002\u552f\u4e00\u7279\u5b9a\u4e8e UDF \u7684\u9644\u52a0\u9009\u9879\u79f0\u4e3a `sphinx`\uff0c\u5141\u8bb8\u4f60\u6307\u5b9a searchd \u7684\u4f4d\u7f6e\uff08\u4e3b\u673a\u548c\u7aef\u53e3\uff09\u3002\n\n\u4f7f\u7528\u793a\u4f8b\uff1a\n\nCODE_BLOCK_43\n<!-- proofread -->",
- "russian": "\u0414\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 UDF, \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f `sphinx.so` \u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043c\u0435\u0441\u0442\u043e \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 SphinxSE. \u0415\u0441\u043b\u0438 \u043f\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043e\u043d \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u043d\u0430\u0439\u0434\u0438\u0442\u0435 `sphinx.so` \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u0438 \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0435\u0433\u043e \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0432\u0430\u0448\u0435\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 MySQL. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0439\u0442\u0435 UDF \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:\n\nCODE_BLOCK_42\n\n\u0418\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 *\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e* \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c sphinx_snippets; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f \u043d\u0435\u043b\u044c\u0437\u044f. \u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:\n\n**\u041f\u0440\u043e\u0442\u043e\u0442\u0438\u043f:** function sphinx_snippets ( document, table, words [, options] );\n\n\u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b document \u0438 words \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 \u0438\u043b\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u041e\u043f\u0446\u0438\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c: `'value' AS option_name`. \u0414\u043b\u044f \u0441\u043f\u0438\u0441\u043a\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u043e\u043f\u0446\u0438\u0439 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0443 [\u0412\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u0430](../Searching/Highlighting.md). \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043e\u043f\u0446\u0438\u044f, \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u0430\u044f \u0434\u043b\u044f UDF, \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f `sphinx` \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 searchd (\u0445\u043e\u0441\u0442 \u0438 \u043f\u043e\u0440\u0442).\n\n\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:\n\nCODE_BLOCK_43\n<!-- proofread -->"
- },
- "is_code_or_comment": false,
- "model": "openai:gpt-4.1-mini",
- "updated_at": 1766339840
- },
- "6e90c42972d3916a52c35bdf7c767f776ab9d48773eba10b781acd78791a8d91": {
- "original": "# SphinxSE\n\nSphinxSE is a MySQL storage engine that can be compiled into MySQL/MariaDB servers using their pluggable architecture.\n\nDespite its name, SphinxSE does *not* actually store any data itself. Instead, it serves as a built-in client that enables the MySQL server to communicate with `searchd`, execute search queries, and retrieve search results. All indexing and searching take place outside MySQL.\n\nSome common SphinxSE applications include:\n* Simplifying the porting of MySQL Full-Text Search (FTS) applications to Manticore;\n* Enabling Manticore use with programming languages for which native APIs are not yet available;\n* Offering optimizations when additional Manticore result set processing is needed on the MySQL side (e.g., JOINs with original document tables or additional MySQL-side filtering).\n\n## Installing SphinxSE\n\nYou will need to obtain a copy of MySQL sources, prepare those, and then recompile MySQL binary. MySQL sources (mysql-5.x.yy.tar.gz) could be obtained from <http://dev.mysql.com> website.\n\n### Compiling MySQL 5.0.x with SphinxSE\n\n1. copy `sphinx.5.0.yy.diff` patch file into MySQL sources directory and run\nCODE_BLOCK_0\nIf there's no .diff file exactly for the specific version you need to: build, try applying .diff with closest version numbers. It is important that the patch should apply with no rejects.\n2. in MySQL sources directory, run\nCODE_BLOCK_1\n3. in MySQL sources directory, create `sql/sphinx` directory in and copy all files in `mysqlse` directory from Manticore sources there. Example:\nCODE_BLOCK_2\n4. configure MySQL and enable the new engine:\nCODE_BLOCK_3\n5. build and install MySQL:\nCODE_BLOCK_4\n\n### Compiling MySQL 5.1.x with SphinxSE\n\n1. In the MySQL sources directory, create a `storage/sphinx` directory and copy all files from the `mysqlse` directory in the Manticore sources to this new location. For example:\nCODE_BLOCK_5\n2. In the MySQL source directory, run:\nCODE_BLOCK_6\n3. Configure MySQL and enable the Manticore engine:\nCODE_BLOCK_7\n4. Build and install MySQL:\nCODE_BLOCK_8\n\n### Checking SphinxSE installation\n\n\n<!-- example Example_1 -->\n\nTo verify that SphinxSE has been successfully compiled into MySQL, start the newly built server, run the MySQL client, and issue the `SHOW ENGINES` query. You should see a list of all available engines. Manticore should be present, and the \"Support\" column should display \"YES\":\n\n<!-- request -->\n\nCODE_BLOCK_9\n\n<!-- response -->\nCODE_BLOCK_10\n\n<!-- end -->\n\n## Using SphinxSE\n\nTo search using SphinxSE, you'll need to create a special ENGINE=SPHINX \"search table\" and then use a `SELECT` statement with the full-text query placed in the `WHERE` clause for the query column.\n\nHere's an example create statement and search query:\n\nCODE_BLOCK_11\n\nIn a search table, the first three columns *must* have the following types: `INTEGER UNSIGNED` or `BIGINT` for the 1st column (document ID), `INTEGER` or `BIGINT` for the 2nd column (match weight), and `VARCHAR` or `TEXT` for the 3rd column (your query). This mapping is fixed; you cannot omit any of these three required columns, move them around, or change their types. Additionally, the query column must be indexed, while all others should remain unindexed. Column names are ignored, so you can use any arbitrary names.\n\nAdditional columns must be either `INTEGER`, `TIMESTAMP`, `BIGINT`, `VARCHAR`, or `FLOAT`. They will be bound to attributes provided in the Manticore result set by name, so their names must match the attribute names specified in `sphinx.conf`. If there's no matching attribute name in the Manticore search results, the column will have `NULL` values.\n\nSpecial \"virtual\" attribute names can also be bound to SphinxSE columns. Use `_sph_` instead of `@` for that purpose. For example, to obtain the values of `@groupby`, `@count`, or `@distinct` virtual attributes, use `_sph_groupby`, `_sph_count`, or `_sph_distinct` column names, respectively.\n\nThe `CONNECTION` string parameter is used to specify the Manticore host, port, and table. If no connection string is specified in `CREATE TABLE`, the table name `*` (i.e., search all tables) and `localhost:9312` are assumed. The connection string syntax is as follows:\n\nCODE_BLOCK_12\n\nYou can change the default connection string later:\n\nCODE_BLOCK_13\n\nYou can also override these parameters on a per-query basis.\n\nAs shown in the example, both the query text and search options should be placed in the `WHERE` clause on the search query column (i.e., the 3rd column). Options are separated by semicolons and their names from values by an equality sign. Any number of options can be specified. The available options are:",
- "translations": {
- "chinese": "# SphinxSE\n\nSphinxSE \u662f\u4e00\u4e2a MySQL \u5b58\u50a8\u5f15\u64ce\uff0c\u53ef\u4ee5\u901a\u8fc7 MySQL/MariaDB \u670d\u52a1\u5668\u7684\u53ef\u63d2\u62d4\u67b6\u6784\u8fdb\u884c\u7f16\u8bd1\u3002\n\n\u5c3d\u7ba1\u540d\u79f0\u4e3a SphinxSE\uff0c\u4f46\u5b83\u5b9e\u9645\u4e0a\u5e76*\u4e0d*\u5b58\u50a8\u4efb\u4f55\u6570\u636e\u3002\u76f8\u53cd\uff0c\u5b83\u4f5c\u4e3a\u5185\u7f6e\u5ba2\u6237\u7aef\uff0c\u4f7f MySQL \u670d\u52a1\u5668\u80fd\u591f\u4e0e `searchd` \u901a\u4fe1\uff0c\u6267\u884c\u641c\u7d22\u67e5\u8be2\uff0c\u5e76\u68c0\u7d22\u641c\u7d22\u7ed3\u679c\u3002\u6240\u6709\u7684\u7d22\u5f15\u548c\u641c\u7d22\u64cd\u4f5c\u5747\u5728 MySQL \u5916\u90e8\u8fdb\u884c\u3002\n\n\u4e00\u4e9b\u5e38\u89c1\u7684 SphinxSE \u5e94\u7528\u5305\u62ec\uff1a\n* \u7b80\u5316 MySQL \u5168\u6587\u641c\u7d22\uff08FTS\uff09\u5e94\u7528\u79fb\u690d\u5230 Manticore \u7684\u8fc7\u7a0b\uff1b\n* \u4f7f\u5c1a\u65e0\u672c\u5730 API \u7684\u7f16\u7a0b\u8bed\u8a00\u80fd\u591f\u4f7f\u7528 Manticore\uff1b\n* \u5f53\u5728 MySQL \u7aef\u9700\u8981\u5bf9 Manticore \u7ed3\u679c\u96c6\u8fdb\u884c\u989d\u5916\u5904\u7406\u65f6\uff08\u4f8b\u5982\uff0c\u4e0e\u539f\u59cb\u6587\u6863\u8868\u8fdb\u884c JOIN \u6216\u989d\u5916\u7684 MySQL \u7aef\u8fc7\u6ee4\uff09\uff0c\u63d0\u4f9b\u4f18\u5316\u3002\n\n## \u5b89\u88c5 SphinxSE\n\n\u60a8\u9700\u8981\u83b7\u53d6 MySQL \u6e90\u7801\uff0c\u8fdb\u884c\u51c6\u5907\uff0c\u7136\u540e\u91cd\u65b0\u7f16\u8bd1 MySQL \u4e8c\u8fdb\u5236\u6587\u4ef6\u3002MySQL \u6e90\u7801\u5305\uff08mysql-5.x.yy.tar.gz\uff09\u53ef\u4ece <http://dev.mysql.com> \u7f51\u7ad9\u4e0b\u8f7d\u3002\n\n### \u7f16\u8bd1\u5e26\u6709 SphinxSE \u7684 MySQL 5.0.x\n\n1. \u5c06 `sphinx.5.0.yy.diff` \u8865\u4e01\u6587\u4ef6\u590d\u5236\u5230 MySQL \u6e90\u7801\u76ee\u5f55\uff0c\u5e76\u8fd0\u884c\nCODE_BLOCK_0\n\u5982\u679c\u6ca1\u6709\u9488\u5bf9\u60a8\u9700\u8981\u6784\u5efa\u7684\u7279\u5b9a\u7248\u672c\u7684 .diff \u6587\u4ef6\uff0c\u8bf7\u5c1d\u8bd5\u5e94\u7528\u7248\u672c\u53f7\u6700\u63a5\u8fd1\u7684 .diff\u3002\u8865\u4e01\u5fc5\u987b\u80fd\u65e0\u62d2\u7edd\u5730\u6210\u529f\u5e94\u7528\u3002\n2. \u5728 MySQL \u6e90\u7801\u76ee\u5f55\u4e0b\uff0c\u8fd0\u884c\nCODE_BLOCK_1\n3. \u5728 MySQL \u6e90\u7801\u76ee\u5f55\u4e0b\uff0c\u521b\u5efa `sql/sphinx` \u76ee\u5f55\uff0c\u5e76\u5c06 Manticore \u6e90\u7801\u4e2d `mysqlse` \u76ee\u5f55\u7684\u6240\u6709\u6587\u4ef6\u590d\u5236\u5230\u8be5\u76ee\u5f55\u3002\u4f8b\u5982\uff1a\nCODE_BLOCK_2\n4. \u914d\u7f6e MySQL \u5e76\u542f\u7528\u65b0\u5f15\u64ce\uff1a\nCODE_BLOCK_3\n5. \u6784\u5efa\u5e76\u5b89\u88c5 MySQL\uff1a\nCODE_BLOCK_4\n\n### \u7f16\u8bd1\u5e26\u6709 SphinxSE \u7684 MySQL 5.1.x\n\n1. \u5728 MySQL \u6e90\u7801\u76ee\u5f55\u4e0b\uff0c\u521b\u5efa `storage/sphinx` \u76ee\u5f55\uff0c\u5e76\u5c06 Manticore \u6e90\u7801\u4e2d `mysqlse` \u76ee\u5f55\u7684\u6240\u6709\u6587\u4ef6\u590d\u5236\u5230\u8be5\u65b0\u4f4d\u7f6e\u3002\u4f8b\u5982\uff1a\nCODE_BLOCK_5\n2. \u5728 MySQL \u6e90\u7801\u76ee\u5f55\u4e2d\uff0c\u8fd0\u884c\uff1a\nCODE_BLOCK_6\n3. \u914d\u7f6e MySQL \u5e76\u542f\u7528 Manticore \u5f15\u64ce\uff1a\nCODE_BLOCK_7\n4. \u6784\u5efa\u5e76\u5b89\u88c5 MySQL\uff1a\nCODE_BLOCK_8\n\n### \u68c0\u67e5 SphinxSE \u5b89\u88c5\u60c5\u51b5\n\n\n<!-- example Example_1 -->\n\n\u8981\u9a8c\u8bc1 SphinxSE \u662f\u5426\u5df2\u6210\u529f\u7f16\u8bd1\u5165 MySQL\uff0c\u542f\u52a8\u65b0\u6784\u5efa\u7684\u670d\u52a1\u5668\uff0c\u8fd0\u884c MySQL \u5ba2\u6237\u7aef\uff0c\u6267\u884c `SHOW ENGINES` \u67e5\u8be2\u3002\u60a8\u5e94\u8be5\u770b\u5230\u6240\u6709\u53ef\u7528\u5f15\u64ce\u7684\u5217\u8868\u3002Manticore \u5e94\u5b58\u5728\u4e8e\u5176\u4e2d\uff0c\u4e14 \"Support\" \u5217\u5e94\u663e\u793a \"YES\"\uff1a\n\n<!-- request -->\n\nCODE_BLOCK_9\n\n<!-- response -->\nCODE_BLOCK_10\n\n<!-- end -->\n\n## \u4f7f\u7528 SphinxSE\n\n\u8981\u4f7f\u7528 SphinxSE \u641c\u7d22\uff0c\u60a8\u9700\u8981\u521b\u5efa\u4e00\u4e2a\u7279\u6b8a\u7684 ENGINE=SPHINX \u201c\u641c\u7d22\u8868\u201d\uff0c\u7136\u540e\u4f7f\u7528\u5e26\u6709\u5168\u6587\u67e5\u8be2\u8bed\u53e5\u7684 `SELECT`\uff0c\u8be5\u67e5\u8be2\u8bed\u53e5\u7f6e\u4e8e\u67e5\u8be2\u5217\u7684 `WHERE` \u5b50\u53e5\u4e2d\u3002\n\n\u4e0b\u9762\u662f\u4e00\u4e2a\u521b\u5efa\u8bed\u53e5\u548c\u641c\u7d22\u67e5\u8be2\u7684\u4f8b\u5b50\uff1a\n\nCODE_BLOCK_11\n\n\u5728\u641c\u7d22\u8868\u4e2d\uff0c\u524d\u4e09\u5217*\u5fc5\u987b*\u5177\u6709\u4ee5\u4e0b\u7c7b\u578b\uff1a\u7b2c 1 \u5217\uff08\u6587\u6863 ID\uff09\u4e3a `INTEGER UNSIGNED` \u6216 `BIGINT`\uff0c\u7b2c 2 \u5217\uff08\u5339\u914d\u6743\u91cd\uff09\u4e3a `INTEGER` \u6216 `BIGINT`\uff0c\u7b2c 3 \u5217\uff08\u60a8\u7684\u67e5\u8be2\uff09\u4e3a `VARCHAR` \u6216 `TEXT`\u3002\u6b64\u6620\u5c04\u662f\u56fa\u5b9a\u7684\uff1b\u60a8\u4e0d\u80fd\u7701\u7565\u8fd9\u4e09\u5217\u4e2d\u7684\u4efb\u4f55\u4e00\u5217\uff0c\u4e0d\u80fd\u6539\u53d8\u5b83\u4eec\u7684\u4f4d\u7f6e\uff0c\u4e5f\u4e0d\u80fd\u66f4\u6539\u5b83\u4eec\u7684\u7c7b\u578b\u3002\u6b64\u5916\uff0c\u67e5\u8be2\u5217\u5fc5\u987b\u5efa\u7acb\u7d22\u5f15\uff0c\u5176\u4f59\u5217\u5e94\u4fdd\u6301\u65e0\u7d22\u5f15\u72b6\u6001\u3002\u5217\u540d\u88ab\u5ffd\u7565\uff0c\u56e0\u6b64\u60a8\u53ef\u4ee5\u4f7f\u7528\u4efb\u610f\u540d\u79f0\u3002\n\n\u989d\u5916\u7684\u5217\u5fc5\u987b\u4e3a `INTEGER`\u3001`TIMESTAMP`\u3001`BIGINT`\u3001`VARCHAR` \u6216 `FLOAT` \u7c7b\u578b\u3002\u5b83\u4eec\u5c06\u901a\u8fc7\u540d\u79f0\u7ed1\u5b9a\u5230 Manticore \u7ed3\u679c\u96c6\u4e2d\u63d0\u4f9b\u7684\u5c5e\u6027\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u5fc5\u987b\u4e0e `sphinx.conf` \u4e2d\u6307\u5b9a\u7684\u5c5e\u6027\u540d\u79f0\u5339\u914d\u3002\u5982\u679c Manticore \u641c\u7d22\u7ed3\u679c\u4e2d\u6ca1\u6709\u5339\u914d\u7684\u5c5e\u6027\u540d\u79f0\uff0c\u5219\u8be5\u5217\u5c06\u4e3a `NULL`\u3002\n\n\u7279\u6b8a\u7684\u201c\u865a\u62df\u201d\u5c5e\u6027\u540d\u4e5f\u53ef\u4ee5\u7ed1\u5b9a\u81f3 SphinxSE \u5217\u3002\u4e3a\u6b64\u8bf7\u7528 `_sph_` \u66ff\u4ee3 `@`\u3002\u4f8b\u5982\uff0c\u8981\u83b7\u53d6 `@groupby`\u3001`@count` \u6216 `@distinct` \u865a\u62df\u5c5e\u6027\u7684\u503c\uff0c\u5206\u522b\u4f7f\u7528 `_sph_groupby`\u3001`_sph_count` \u6216 `_sph_distinct` \u4f5c\u4e3a\u5217\u540d\u3002\n\n`CONNECTION` \u5b57\u7b26\u4e32\u53c2\u6570\u7528\u4e8e\u6307\u5b9a Manticore \u4e3b\u673a\u3001\u7aef\u53e3\u548c\u8868\u3002\u5982\u679c\u5728 `CREATE TABLE` \u4e2d\u672a\u6307\u5b9a\u8fde\u63a5\u5b57\u7b26\u4e32\uff0c\u5219\u9ed8\u8ba4\u4f7f\u7528\u8868\u540d `*`\uff08\u5373\u641c\u7d22\u6240\u6709\u8868\uff09\u548c `localhost:9312`\u3002\u8fde\u63a5\u5b57\u7b26\u4e32\u7684\u8bed\u6cd5\u5982\u4e0b\uff1a\n\nCODE_BLOCK_12\n\n\u60a8\u4ee5\u540e\u53ef\u4ee5\u66f4\u6539\u9ed8\u8ba4\u8fde\u63a5\u5b57\u7b26\u4e32\uff1a\n\nCODE_BLOCK_13\n\n\u60a8\u4e5f\u53ef\u4ee5\u9488\u5bf9\u6bcf\u4e2a\u67e5\u8be2\u5355\u72ec\u8986\u76d6\u8fd9\u4e9b\u53c2\u6570\u3002\n\n\u5982\u793a\u4f8b\u6240\u793a\uff0c\u67e5\u8be2\u6587\u672c\u548c\u641c\u7d22\u9009\u9879\u5747\u5e94\u653e\u7f6e\u4e8e\u641c\u7d22\u67e5\u8be2\u5217\uff08\u5373\u7b2c 3 \u5217\uff09\u7684 `WHERE` \u5b50\u53e5\u4e2d\u3002\u9009\u9879\u4e4b\u95f4\u7528\u5206\u53f7\u5206\u9694\uff0c\u540d\u79f0\u548c\u503c\u4e4b\u95f4\u7528\u7b49\u53f7\u76f8\u8fde\u3002\u53ef\u6307\u5b9a\u4efb\u610f\u6570\u91cf\u7684\u9009\u9879\u3002\u53ef\u7528\u7684\u9009\u9879\u6709\uff1a",
- "russian": "# SphinxSE\n\nSphinxSE \u2014 \u044d\u0442\u043e \u0434\u0432\u0438\u0436\u043e\u043a \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f MySQL, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d \u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u044b MySQL/MariaDB \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b.\n\n\u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0441\u0432\u043e\u0451 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, SphinxSE *\u043d\u0435* \u0445\u0440\u0430\u043d\u0438\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043e\u043d \u0441\u043b\u0443\u0436\u0438\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0443 MySQL \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 `searchd`, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u043e\u0438\u0441\u043a\u0430. \u0412\u0435\u0441\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u043d\u0435 MySQL.\n\n\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0435 \u0441\u043b\u0443\u0447\u0430\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f SphinxSE \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442:\n* \u0423\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 MySQL Full-Text Search (FTS) \u043d\u0430 Manticore;\n* \u041e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Manticore \u0441 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 API \u0435\u0449\u0451 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b;\n* \u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439, \u043a\u043e\u0433\u0434\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 Manticore \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 MySQL (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, JOIN \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u043b\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 MySQL).\n\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 SphinxSE\n\n\u0412\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 MySQL, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0438\u0445 \u0438 \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u0444\u0430\u0439\u043b MySQL. \u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 MySQL (mysql-5.x.yy.tar.gz) \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441 \u0441\u0430\u0439\u0442\u0430 <http://dev.mysql.com>.\n\n### \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f MySQL 5.0.x \u0441 SphinxSE\n\n1. \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u043f\u0430\u0442\u0447-\u0444\u0430\u0439\u043b `sphinx.5.0.yy.diff` \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 MySQL \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435\nCODE_BLOCK_0\n\u0415\u0441\u043b\u0438 \u043d\u0435\u0442 .diff-\u0444\u0430\u0439\u043b\u0430 \u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u043d\u0443\u0436\u043d\u043e\u0439 \u0432\u0430\u043c \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u0431\u043e\u0440\u043a\u0438, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c .diff \u0441 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u043c\u0438 \u043d\u043e\u043c\u0435\u0440\u0430\u043c\u0438 \u0432\u0435\u0440\u0441\u0438\u0439. \u0412\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0430\u0442\u0447 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b\u0441\u044f \u0431\u0435\u0437 \u043e\u0448\u0438\u0431\u043e\u043a.\n2. \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 MySQL \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435\nCODE_BLOCK_1\n3. \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 MySQL \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 `sql/sphinx` \u0438 \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0442\u0443\u0434\u0430 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0438\u0437 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 `mysqlse` \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 Manticore. \u041f\u0440\u0438\u043c\u0435\u0440:\nCODE_BLOCK_2\n4. \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0439\u0442\u0435 MySQL \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043d\u043e\u0432\u044b\u0439 \u0434\u0432\u0438\u0436\u043e\u043a:\nCODE_BLOCK_3\n5. \u0441\u043e\u0431\u0435\u0440\u0438\u0442\u0435 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 MySQL:\nCODE_BLOCK_4\n\n### \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f MySQL 5.1.x \u0441 SphinxSE\n\n1. \u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 MySQL \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 `storage/sphinx` \u0438 \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0442\u0443\u0434\u0430 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0438\u0437 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 `mysqlse` \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 Manticore. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:\nCODE_BLOCK_5\n2. \u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 MySQL \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435:\nCODE_BLOCK_6\n3. \u0421\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0439\u0442\u0435 MySQL \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0434\u0432\u0438\u0436\u043e\u043a Manticore:\nCODE_BLOCK_7\n4. \u0421\u043e\u0431\u0435\u0440\u0438\u0442\u0435 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 MySQL:\nCODE_BLOCK_8\n\n### \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 SphinxSE\n\n\n<!-- example Example_1 -->\n\n\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e SphinxSE \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0451\u043d \u0432 MySQL, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0432\u043d\u043e\u0432\u044c \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u0441\u044c \u043a MySQL \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0437\u0430\u043f\u0440\u043e\u0441 `SHOW ENGINES`. \u0412\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0434\u0432\u0438\u0436\u043a\u043e\u0432. Manticore \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c, \u0430 \u0432 \u043a\u043e\u043b\u043e\u043d\u043a\u0435 \u00abSupport\u00bb \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u00abYES\u00bb:\n\n<!-- request -->\n\nCODE_BLOCK_9\n\n<!-- response -->\nCODE_BLOCK_10\n\n<!-- end -->\n\n## \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 SphinxSE\n\n\u0414\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e SphinxSE \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u00ab\u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443\u00bb ENGINE=SPHINX, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c `SELECT` \u0441 \u043f\u043e\u043b\u043d\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c, \u043f\u043e\u043c\u0435\u0449\u0451\u043d\u043d\u044b\u043c \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 `WHERE` \u0434\u043b\u044f \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430.\n\n\u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\nCODE_BLOCK_11\n\n\u0412 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043f\u0435\u0440\u0432\u044b\u0435 \u0442\u0440\u0438 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 *\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b* \u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u043c\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0442\u0438\u043f\u044b: `INTEGER UNSIGNED` \u0438\u043b\u0438 `BIGINT` \u0434\u043b\u044f 1-\u0439 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 (ID \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430), `INTEGER` \u0438\u043b\u0438 `BIGINT` \u0434\u043b\u044f 2-\u0439 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 (\u0432\u0435\u0441 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f), \u0438 `VARCHAR` \u0438\u043b\u0438 `TEXT` \u0434\u043b\u044f 3-\u0439 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 (\u0432\u0430\u0448 \u0437\u0430\u043f\u0440\u043e\u0441). \u042d\u0442\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0430; \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u0438\u0437 \u044d\u0442\u0438\u0445 \u0442\u0440\u0451\u0445 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043b\u043e\u043d\u043e\u043a, \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0445 \u0438\u043b\u0438 \u043c\u0435\u043d\u044f\u0442\u044c \u0442\u0438\u043f\u044b. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043a\u043e\u043b\u043e\u043d\u043a\u0430 \u0441 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0430, \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u2014 \u0431\u0435\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432. \u0418\u043c\u0435\u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u043e\u043a \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430.\n\n\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u043c\u0435\u0442\u044c \u0442\u0438\u043f\u044b `INTEGER`, `TIMESTAMP`, `BIGINT`, `VARCHAR` \u0438\u043b\u0438 `FLOAT`. \u041e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u0441 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u043c\u0438, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u043c \u043d\u0430\u0431\u043e\u0440\u0435 Manticore \u043f\u043e \u0438\u043c\u0435\u043d\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0445 \u0438\u043c\u0435\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 `sphinx.conf`. \u0415\u0441\u043b\u0438 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 \u043f\u043e\u0438\u0441\u043a\u0430 Manticore \u043d\u0435\u0442 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u0433\u043e \u0438\u043c\u0435\u043d\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430, \u0432 \u043a\u043e\u043b\u043e\u043d\u043a\u0435 \u0431\u0443\u0434\u0435\u0442 `NULL`.\n\n\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u00ab\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435\u00bb \u0438\u043c\u0435\u043d\u0430 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u0441 \u043a\u043e\u043b\u043e\u043d\u043a\u0430\u043c\u0438 SphinxSE. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u043c\u0435\u0441\u0442\u043e `@` \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 `_sph_`. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 `@groupby`, `@count` \u0438\u043b\u0438 `@distinct` \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u043c\u0435\u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u043e\u043a `_sph_groupby`, `_sph_count` \u0438\u043b\u0438 `_sph_distinct`.\n\n\u0421\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 `CONNECTION` \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0445\u043e\u0441\u0442\u0430 Manticore, \u043f\u043e\u0440\u0442\u0430 \u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u0415\u0441\u043b\u0438 \u0432 `CREATE TABLE` \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430, \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0438\u043c\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b `*` (\u0442\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u0432\u0441\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c) \u0438 `localhost:9312`. \u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439:\n\nCODE_BLOCK_12\n\n\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u043e\u0437\u0436\u0435:\n\nCODE_BLOCK_13\n\n\u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u044d\u0442\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e.\n\n\u041a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u0438 \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0438 \u043e\u043f\u0446\u0438\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u043e\u043c\u0435\u0449\u0430\u0442\u044c \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 `WHERE` \u043f\u043e \u043a\u043e\u043b\u043e\u043d\u043a\u0435 \u043f\u043e\u0438\u0441\u043a\u0430 (\u0442\u043e \u0435\u0441\u0442\u044c 3-\u0439 \u043a\u043e\u043b\u043e\u043d\u043a\u0435). \u041e\u043f\u0446\u0438\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u043e\u0447\u043a\u043e\u0439 \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439, \u0430 \u0438\u043c\u044f \u043e\u043f\u0446\u0438\u0438 \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0437\u043d\u0430\u043a\u043e\u043c \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u0430. \u041c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u043f\u0446\u0438\u0439. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438:"
- },
- "is_code_or_comment": false,
- "model": "openai:gpt-4.1-mini",
- "updated_at": 1766339856
- },
- "a9bdba799e2149c426a9d7c7d6257ea15d7fb2c844a3f238641192b6776c5c19": {
- "original": "* query - query text;\n* mode - matching mode. Must be one of \"all\", \"any\", \"phrase\", \"boolean\", or \"extended\". Default is \"all\";\n* sort - match sorting mode. Must be one of \"relevance\", \"attr_desc\", \"attr_asc\", \"time_segments\", or \"extended\". In all modes besides \"relevance\", the attribute name (or sorting clause for \"extended\") is also required after a colon:\nCODE_BLOCK_14\n* offset - offset into the result set; default is 0;\n* limit - number of matches to retrieve from the result set; default is 20;\n* index - names of the tables to search:\nCODE_BLOCK_15\n* minid, maxid - min and max document ID to match;\n* weights - comma-separated list of weights to be assigned to Manticore full-text fields:\nCODE_BLOCK_16\n* filter, !filter - comma-separated attribute name and a set of values to match:\nCODE_BLOCK_17\n* range, !range - comma-separated (integer or bigint) Manticore attribute name, and min and max values to match:\nCODE_BLOCK_18\n* floatrange, !floatrange - comma-separated (floating point) Manticore attribute name, and min and max values to match:\nCODE_BLOCK_19\n* maxmatches - maxmatches - per-query max matches value, as in [max_matches search option](../Searching/Options.md#max_matches):\nCODE_BLOCK_20\n* cutoff - maximum allowed matches, as in [cutoff search option](../Searching/Options.md#cutoff):\nCODE_BLOCK_21\n* maxquerytime - maximum allowed query time (in milliseconds), as in [max_query_time search option](../Searching/Options.md#max_query_time):\nCODE_BLOCK_22\n* groupby - group-by function and attribute. Read [this](../Searching/Grouping.md#Just-Grouping) about grouping search results:\nCODE_BLOCK_23\n* groupsort - group-by sorting clause:\nCODE_BLOCK_24\n* distinct - an attribute to compute [COUNT(DISTINCT)](../Searching/Grouping.md#COUNT%28DISTINCT-field%29) for when doing group-by:\nCODE_BLOCK_25\n* indexweights - comma-separated list of table names and weights to use when searching through several tables:\nCODE_BLOCK_26\n* fieldweights - comma-separated list of per-field weights that can be used by the ranker:\nCODE_BLOCK_27\n* comment - a string to mark this query in query log, as in [comment search option](../Searching/Options.md#comment):\nCODE_BLOCK_28\n* select - a string with expressions to compute:\nCODE_BLOCK_29\n* host, port - remote `searchd` host name and TCP port, respectively:\nCODE_BLOCK_30\n* ranker - a ranking function to use with \"extended\" matching mode, as in [ranker](../Searching/Options.md#ranker). Known values are \"proximity_bm25\", \"bm25\", \"none\", \"wordcount\", \"proximity\", \"matchany\", \"fieldmask\", \"sph04\", \"expr:EXPRESSION\" syntax to support expression-based ranker (where EXPRESSION should be replaced with your specific ranking formula), and \"export:EXPRESSION\":\nCODE_BLOCK_31\nThe \"export\" ranker functions similarly to ranker=expr, but it retains the per-document factor values, while ranker=expr discards them after computing the final `WEIGHT()` value. Keep in mind that ranker=export is intended for occasional use, such as training a machine learning (ML) function or manually defining your own ranking function, and should not be used in actual production. When utilizing this ranker, you'll likely want to examine the output of the `RANKFACTORS()` function, which generates a string containing all the field-level factors for each document.\n\n<!-- example SQL Example_2 -->\n<!-- request -->\n\nCODE_BLOCK_32\n\n<!-- response -->\n\nCODE_BLOCK_33\n\n<!-- end -->\n\n* geoanchor - geodistance anchor. Learn more about Geo-search [in this section](../Searching/Geo_search.md). Takes 4 parameters, which are the latitude and longitude attribute names, and anchor point coordinates, respectively:\nCODE_BLOCK_34\n\nOne **very important** note is that it is **much** more efficient to let Manticore handle sorting, filtering, and slicing the result set, rather than increasing the max matches count and using `WHERE`, `ORDER BY`, and `LIMIT` clauses on the MySQL side. This is due to two reasons. First, Manticore employs a variety of optimizations and performs these tasks better than MySQL. Second, less data would need to be packed by searchd, transferred, and unpacked by SphinxSE.\n\n\n### Important note about stored fields when using SphinxSE\n\nSince version 5.0.0, Manticore stores all fields by default. When Manticore is used together with MySQL or MariaDB via SphinxSE, storing all fields usually does not make sense because the originals are already stored in MySQL/MariaDB. In such setups it is recommended to explicitly disable stored fields for the involved Manticore table by setting:\n\nCODE_BLOCK_35\n\nSee the setting reference: [stored_fields](../Creating_a_table/Local_tables/Plain_and_real-time_table_settings.md#stored_fields).\n\nIf you keep the default (all fields stored) and then select a lot of documents at once through SphinxSE, an internal limit in the engine may be exceeded and you may receive an error like:\n\n\"bad searchd response length\"\n\nSetting `stored_fields =` avoids sending large stored payloads back to MySQL/MariaDB and prevents this error in typical SphinxSE integrations.\n\n\n### SHOW ENGINE SPHINX STATUS\n\n<!-- example Example_3 -->\n\nYou can obtain additional information related to the query results using the `SHOW ENGINE SPHINX STATUS` statement:\n\n<!-- request -->\n\n\nCODE_BLOCK_36\n\n<!-- response -->\nCODE_BLOCK_37\n\n<!-- end -->\n\n\n<!-- example Example_4 -->\n\nYou can also access this information through status variables. Keep in mind that using this method does not require super-user privileges.\n\n<!-- request -->\n\nCODE_BLOCK_38\n\n<!-- response -->\nCODE_BLOCK_39\n\n<!-- end -->\n\n\n<!-- example SQL Example_5 -->\n\nSphinxSE search tables can be joined with tables using other engines. Here's an example using the \"documents\" table from example.sql:\n\n<!-- request -->\n\nCODE_BLOCK_40\n\n<!-- response -->\n\nCODE_BLOCK_41\n\n<!-- end -->\n\n## Building snippets via MySQL\n\n\nSphinxSE also features a UDF function that allows you to create snippets using MySQL. This functionality is similar to [HIGHLIGHT()](../Searching/Highlighting.md#Highlighting), but can be accessed through MySQL+SphinxSE.",
- "translations": {
- "chinese": "* query - \u67e5\u8be2\u6587\u672c\uff1b\n* mode - \u5339\u914d\u6a21\u5f0f\u3002\u5fc5\u987b\u662f \"all\", \"any\", \"phrase\", \"boolean\" \u6216 \"extended\" \u4e4b\u4e00\u3002\u9ed8\u8ba4\u662f \"all\"\uff1b\n* sort - \u5339\u914d\u6392\u5e8f\u6a21\u5f0f\u3002\u5fc5\u987b\u662f \"relevance\", \"attr_desc\", \"attr_asc\", \"time_segments\" \u6216 \"extended\" \u4e4b\u4e00\u3002\u5728\u9664 \"relevance\" \u4e4b\u5916\u7684\u6240\u6709\u6a21\u5f0f\u4e2d\uff0c\u8fd8\u9700\u8981\u5728\u5192\u53f7\u540e\u52a0\u4e0a\u5c5e\u6027\u540d\uff08\u6216 \"extended\" \u7684\u6392\u5e8f\u5b50\u53e5\uff09\uff1a\nCODE_BLOCK_14\n* offset - \u7ed3\u679c\u96c6\u7684\u504f\u79fb\u91cf\uff1b\u9ed8\u8ba4\u662f 0\uff1b\n* limit - \u4ece\u7ed3\u679c\u96c6\u4e2d\u68c0\u7d22\u7684\u5339\u914d\u6570\uff1b\u9ed8\u8ba4\u662f 20\uff1b\n* index - \u8981\u641c\u7d22\u7684\u8868\u540d\uff1a\nCODE_BLOCK_15\n* minid, maxid - \u5339\u914d\u7684\u6587\u6863 ID \u6700\u5c0f\u503c\u548c\u6700\u5927\u503c\uff1b\n* weights - \u5206\u914d\u7ed9 Manticore \u5168\u6587\u5b57\u6bb5\u7684\u6743\u91cd\u7684\u9017\u53f7\u5206\u9694\u5217\u8868\uff1a\nCODE_BLOCK_16\n* filter, !filter - \u9017\u53f7\u5206\u9694\u7684\u5c5e\u6027\u540d\u53ca\u5176\u5339\u914d\u503c\u96c6\u5408\uff1a\nCODE_BLOCK_17\n* range, !range - \u9017\u53f7\u5206\u9694\u7684\uff08\u6574\u6570\u6216\u5927\u6574\u6570\uff09Manticore \u5c5e\u6027\u540d\uff0c\u4ee5\u53ca\u5339\u914d\u7684\u6700\u5c0f\u503c\u548c\u6700\u5927\u503c\uff1a\nCODE_BLOCK_18\n* floatrange, !floatrange - \u9017\u53f7\u5206\u9694\u7684\uff08\u6d6e\u70b9\uff09Manticore \u5c5e\u6027\u540d\uff0c\u4ee5\u53ca\u5339\u914d\u7684\u6700\u5c0f\u503c\u548c\u6700\u5927\u503c\uff1a\nCODE_BLOCK_19\n* maxmatches - \u6bcf\u4e2a\u67e5\u8be2\u7684\u6700\u5927\u5339\u914d\u503c\uff0c\u53c2\u89c1 [max_matches \u641c\u7d22\u9009\u9879](../Searching/Options.md#max_matches)\uff1a\nCODE_BLOCK_20\n* cutoff - \u6700\u5927\u5141\u8bb8\u5339\u914d\u6570\uff0c\u53c2\u89c1 [cutoff \u641c\u7d22\u9009\u9879](../Searching/Options.md#cutoff)\uff1a\nCODE_BLOCK_21\n* maxquerytime - \u6700\u5927\u5141\u8bb8\u67e5\u8be2\u65f6\u95f4\uff08\u6beb\u79d2\uff09\uff0c\u53c2\u89c1 [max_query_time \u641c\u7d22\u9009\u9879](../Searching/Options.md#max_query_time)\uff1a\nCODE_BLOCK_22\n* groupby - \u5206\u7ec4\u529f\u80fd\u548c\u5c5e\u6027\u3002\u8bf7\u9605\u8bfb [\u8fd9\u91cc](../Searching/Grouping.md#Just-Grouping) \u4e86\u89e3\u5206\u7ec4\u641c\u7d22\u7ed3\u679c\uff1a\nCODE_BLOCK_23\n* groupsort - \u5206\u7ec4\u6392\u5e8f\u5b50\u53e5\uff1a\nCODE_BLOCK_24\n* distinct - \u5f53\u6267\u884c\u5206\u7ec4\u65f6\uff0c\u8ba1\u7b97 [COUNT(DISTINCT)](../Searching/Grouping.md#COUNT%28DISTINCT-field%29) \u7684\u5c5e\u6027\uff1a\nCODE_BLOCK_25\n* indexweights - \u9017\u53f7\u5206\u9694\u7684\u8868\u540d\u548c\u6743\u91cd\u5217\u8868\uff0c\u7528\u4e8e\u641c\u7d22\u591a\u4e2a\u8868\u65f6\uff1a\nCODE_BLOCK_26\n* fieldweights - \u9017\u53f7\u5206\u9694\u7684\u6bcf\u5b57\u6bb5\u6743\u91cd\u5217\u8868\uff0c\u53ef\u88ab\u6392\u540d\u5668\u4f7f\u7528\uff1a\nCODE_BLOCK_27\n* comment - \u5b57\u7b26\u4e32\uff0c\u7528\u4e8e\u5728\u67e5\u8be2\u65e5\u5fd7\u4e2d\u6807\u8bb0\u6b64\u67e5\u8be2\uff0c\u53c2\u89c1 [comment \u641c\u7d22\u9009\u9879](../Searching/Options.md#comment)\uff1a\nCODE_BLOCK_28\n* select - \u5305\u542b\u8ba1\u7b97\u8868\u8fbe\u5f0f\u7684\u5b57\u7b26\u4e32\uff1a\nCODE_BLOCK_29\n* host, port - \u8fdc\u7a0b `searchd` \u4e3b\u673a\u540d\u548c TCP \u7aef\u53e3\uff0c\u5206\u522b\u662f\uff1a\nCODE_BLOCK_30\n* ranker - \u5728 \"extended\" \u5339\u914d\u6a21\u5f0f\u4e2d\u4f7f\u7528\u7684\u6392\u540d\u51fd\u6570\uff0c\u53c2\u89c1 [ranker](../Searching/Options.md#ranker)\u3002\u5df2\u77e5\u7684\u503c\u6709 \"proximity_bm25\", \"bm25\", \"none\", \"wordcount\", \"proximity\", \"matchany\", \"fieldmask\", \"sph04\", \u57fa\u4e8e\u8868\u8fbe\u5f0f\u7684\u6392\u540d\u8bed\u6cd5 \"expr:EXPRESSION\"\uff08\u5176\u4e2d EXPRESSION \u5e94\u66ff\u6362\u4e3a\u60a8\u5177\u4f53\u7684\u6392\u540d\u516c\u5f0f\uff09\uff0c\u4ee5\u53ca \"export:EXPRESSION\"\uff1a\nCODE_BLOCK_31\n\"export\" \u6392\u540d\u5668\u7684\u529f\u80fd\u4e0e ranker=expr \u7c7b\u4f3c\uff0c\u4f46\u5b83\u4fdd\u7559\u4e86\u6bcf\u4e2a\u6587\u6863\u7684\u56e0\u5b50\u503c\uff0c\u800c ranker=expr \u5728\u8ba1\u7b97\u51fa\u6700\u7ec8\u7684 `WEIGHT()` \u503c\u540e\u4f1a\u4e22\u5f03\u8fd9\u4e9b\u503c\u3002\u8bf7\u6ce8\u610f\uff0cranker=export \u9002\u5408\u5076\u5c14\u4f7f\u7528\uff0c\u6bd4\u5982\u8bad\u7ec3\u673a\u5668\u5b66\u4e60\uff08ML\uff09\u51fd\u6570\u6216\u624b\u52a8\u5b9a\u4e49\u81ea\u5df1\u7684\u6392\u540d\u51fd\u6570\uff0c\u5e76\u4e0d\u9002\u5408\u751f\u4ea7\u73af\u5883\u4f7f\u7528\u3002\u4f7f\u7528\u8be5\u6392\u540d\u5668\u65f6\uff0c\u60a8\u53ef\u80fd\u9700\u8981\u67e5\u770b `RANKFACTORS()` \u51fd\u6570\u7684\u8f93\u51fa\uff0c\u8be5\u51fd\u6570\u751f\u6210\u4e00\u4e2a\u5305\u542b\u6bcf\u4e2a\u6587\u6863\u6240\u6709\u5b57\u6bb5\u7ea7\u56e0\u5b50\u7684\u5b57\u7b26\u4e32\u3002\n\n<!-- example SQL Example_2 -->\n<!-- request -->\n\nCODE_BLOCK_32\n\n<!-- response -->\n\nCODE_BLOCK_33\n\n<!-- end -->\n\n* geoanchor - \u5730\u7406\u8ddd\u79bb\u951a\u70b9\u3002\u6709\u5173\u5730\u7406\u641c\u7d22\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u672c\u8282 [Geo-search](../Searching/Geo_search.md)\u3002\u8be5\u53c2\u6570\u63a5\u53d74\u4e2a\u53c2\u6570\uff0c\u5206\u522b\u662f\u7eac\u5ea6\u548c\u7ecf\u5ea6\u5c5e\u6027\u540d\uff0c\u4ee5\u53ca\u951a\u70b9\u5750\u6807\uff1a\nCODE_BLOCK_34\n\n\u4e00\u4e2a**\u975e\u5e38\u91cd\u8981**\u7684\u8bf4\u660e\u662f\uff0c\u8ba9 Manticore \u5904\u7406\u6392\u5e8f\u3001\u8fc7\u6ee4\u548c\u7ed3\u679c\u5207\u7247\u8981**\u9ad8\u6548\u5f97\u591a**\uff0c\u800c\u4e0d\u662f\u589e\u52a0\u6700\u5927\u5339\u914d\u6570\u7136\u540e\u5728 MySQL \u4fa7\u4f7f\u7528 `WHERE`\u3001`ORDER BY` \u548c `LIMIT` \u5b50\u53e5\u3002\u539f\u56e0\u6709\u4e8c\uff1a\u7b2c\u4e00\uff0cManticore \u91c7\u7528\u591a\u79cd\u4f18\u5316\uff0c\u6267\u884c\u8fd9\u4e9b\u4efb\u52a1\u6bd4 MySQL \u66f4\u4f18\uff1b\u7b2c\u4e8c\uff0csearchd \u6253\u5305\u3001\u4f20\u8f93\u3001SphinxSE \u89e3\u5305\u7684\u6570\u636e\u66f4\u5c11\u3002\n\n### \u4f7f\u7528 SphinxSE \u65f6\u6709\u5173\u5b58\u50a8\u5b57\u6bb5\u7684\u91cd\u8981\u8bf4\u660e\n\n\u4ece 5.0.0 \u7248\u672c\u5f00\u59cb\uff0cManticore \u9ed8\u8ba4\u5b58\u50a8\u6240\u6709\u5b57\u6bb5\u3002\u5f53\u901a\u8fc7 SphinxSE \u4e0e MySQL \u6216 MariaDB \u4e00\u8d77\u4f7f\u7528 Manticore \u65f6\uff0c\u901a\u5e38\u4e0d\u9700\u8981\u5b58\u50a8\u6240\u6709\u5b57\u6bb5\uff0c\u56e0\u4e3a MySQL/MariaDB \u5df2\u7ecf\u5b58\u50a8\u4e86\u539f\u59cb\u6570\u636e\u3002\u5728\u8fd9\u7c7b\u914d\u7f6e\u4e0b\uff0c\u5efa\u8bae\u901a\u8fc7\u4ee5\u4e0b\u8bbe\u7f6e\u663e\u5f0f\u7981\u7528\u76f8\u5173 Manticore \u8868\u7684\u5b58\u50a8\u5b57\u6bb5\uff1a\n\nCODE_BLOCK_35\n\n\u53c2\u89c1\u8bbe\u7f6e\u53c2\u8003: [stored_fields](../Creating_a_table/Local_tables/Plain_and_real-time_table_settings.md#stored_fields)\u3002\n\n\u5982\u679c\u4fdd\u7559\u9ed8\u8ba4\u7684\uff08\u5b58\u50a8\u6240\u6709\u5b57\u6bb5\uff09\uff0c\u7136\u540e\u901a\u8fc7 SphinxSE \u4e00\u6b21\u9009\u62e9\u5927\u91cf\u6587\u6863\uff0c\u53ef\u80fd\u4f1a\u8d85\u8fc7\u5f15\u64ce\u7684\u5185\u90e8\u9650\u5236\uff0c\u5e76\u51fa\u73b0\u7c7b\u4f3c\u9519\u8bef\uff1a\n\n\"bad searchd response length\"\n\n\u8bbe\u7f6e `stored_fields =` \u53ef\u4ee5\u907f\u514d\u5c06\u5927\u578b\u5b58\u50a8\u8d1f\u8f7d\u6570\u636e\u8fd4\u56de\u7ed9 MySQL/MariaDB\uff0c\u4ece\u800c\u907f\u514d\u6b64\u7c7b\u9519\u8bef\uff0c\u5728\u5178\u578b\u7684 SphinxSE \u96c6\u6210\u4e2d\u5341\u5206\u91cd\u8981\u3002\n\n### SHOW ENGINE SPHINX STATUS\n\n<!-- example Example_3 -->\n\n\u60a8\u53ef\u4ee5\u4f7f\u7528 `SHOW ENGINE SPHINX STATUS` \u8bed\u53e5\u83b7\u53d6\u4e0e\u67e5\u8be2\u7ed3\u679c\u76f8\u5173\u7684\u989d\u5916\u4fe1\u606f\uff1a\n\n<!-- request -->\n\n\nCODE_BLOCK_36\n\n<!-- response -->\nCODE_BLOCK_37\n\n<!-- end -->\n\n\n<!-- example Example_4 -->\n\n\u60a8\u8fd8\u53ef\u4ee5\u901a\u8fc7\u72b6\u6001\u53d8\u91cf\u8bbf\u95ee\u8fd9\u4e9b\u4fe1\u606f\u3002\u8bf7\u6ce8\u610f\uff0c\u4f7f\u7528\u6b64\u65b9\u6cd5\u4e0d\u9700\u8981\u8d85\u7ea7\u7528\u6237\u6743\u9650\u3002\n\n<!-- request -->\n\nCODE_BLOCK_38\n\n<!-- response -->\nCODE_BLOCK_39\n\n<!-- end -->\n\n\n<!-- example SQL Example_5 -->\n\nSphinxSE \u641c\u7d22\u8868\u53ef\u4ee5\u4e0e\u5176\u4ed6\u5f15\u64ce\u7684\u8868\u8fdb\u884c\u8fde\u63a5\u3002\u4ee5\u4e0b\u793a\u4f8b\u4f7f\u7528 example.sql \u4e2d\u7684 \"documents\" \u8868\uff1a\n\n<!-- request -->\n\nCODE_BLOCK_40\n\n<!-- response -->\n\nCODE_BLOCK_41\n\n<!-- end -->\n\n## \u901a\u8fc7 MySQL \u6784\u5efa\u7247\u6bb5\n\nSphinxSE \u8fd8\u63d0\u4f9b\u4e86\u4e00\u4e2a UDF \u51fd\u6570\uff0c\u5141\u8bb8\u60a8\u4f7f\u7528 MySQL \u521b\u5efa\u7247\u6bb5\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e [HIGHLIGHT()](../Searching/Highlighting.md#Highlighting)\uff0c\u4f46\u53ef\u901a\u8fc7 MySQL+SphinxSE \u8bbf\u95ee\u3002",
- "russian": "* query - \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430;\n* mode - \u0440\u0435\u0436\u0438\u043c \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u0414\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \"all\", \"any\", \"phrase\", \"boolean\" \u0438\u043b\u0438 \"extended\". \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \"all\";\n* sort - \u0440\u0435\u0436\u0438\u043c \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0439. \u0414\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \"relevance\", \"attr_desc\", \"attr_asc\", \"time_segments\" \u0438\u043b\u0438 \"extended\". \u0412\u043e \u0432\u0441\u0435\u0445 \u0440\u0435\u0436\u0438\u043c\u0430\u0445, \u043a\u0440\u043e\u043c\u0435 \"relevance\", \u043f\u043e\u0441\u043b\u0435 \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 (\u0438\u043b\u0438 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043e\u0447\u043d\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \"extended\"):\nCODE_BLOCK_14\n* offset - \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432 \u043d\u0430\u0431\u043e\u0440\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432; \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 0;\n* limit - \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432; \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 20;\n* index - \u0438\u043c\u0435\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430:\nCODE_BLOCK_15\n* minid, maxid - \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f;\n* weights - \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0435\u0441\u043e\u0432, \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u044f\u0442\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u043f\u043e\u043b\u044f\u043c \u043f\u043e\u043b\u043d\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 Manticore:\nCODE_BLOCK_16\n* filter, !filter - \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u0438 \u043d\u0430\u0431\u043e\u0440 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u044f\u0442\u044b\u043c\u0438:\nCODE_BLOCK_17\n* range, !range - \u0438\u043c\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 Manticore \u0442\u0438\u043f\u0430 integer \u0438\u043b\u0438 bigint, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u044f\u0442\u044b\u043c\u0438:\nCODE_BLOCK_18\n* floatrange, !floatrange - \u0438\u043c\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 Manticore \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u043e\u0439, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u044f\u0442\u044b\u043c\u0438:\nCODE_BLOCK_19\n* maxmatches - \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0439 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441, \u043a\u0430\u043a \u0432 [max_matches search option](../Searching/Options.md#max_matches):\nCODE_BLOCK_20\n* cutoff - \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0439, \u043a\u0430\u043a \u0432 [cutoff search option](../Searching/Options.md#cutoff):\nCODE_BLOCK_21\n* maxquerytime - \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (\u0432 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445), \u043a\u0430\u043a \u0432 [max_query_time search option](../Searching/Options.md#max_query_time):\nCODE_BLOCK_22\n* groupby - \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438 \u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442. \u0418\u0437\u0443\u0447\u0438\u0442\u0435 [\u044d\u0442\u043e](../Searching/Grouping.md#Just-Grouping) \u043e \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043f\u043e\u0438\u0441\u043a\u0430:\nCODE_BLOCK_23\n* groupsort - \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438:\nCODE_BLOCK_24\n* distinct - \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f [COUNT(DISTINCT)](../Searching/Grouping.md#COUNT%28DISTINCT-field%29) \u043f\u0440\u0438 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0435:\nCODE_BLOCK_25\n* indexweights - \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u043c\u0435\u043d \u0442\u0430\u0431\u043b\u0438\u0446 \u0438 \u0432\u0435\u0441\u043e\u0432, \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u044f\u0442\u044b\u043c\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043f\u0440\u0438 \u043f\u043e\u0438\u0441\u043a\u0435 \u043f\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c:\nCODE_BLOCK_26\n* fieldweights - \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0435\u0441\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044f, \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u0437\u0430\u043f\u044f\u0442\u044b\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0449\u0438\u043a:\nCODE_BLOCK_27\n* comment - \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u043b\u044f \u043f\u043e\u043c\u0435\u0442\u043a\u0438 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 \u043b\u043e\u0433\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043a\u0430\u043a \u0432 [comment search option](../Searching/Options.md#comment):\nCODE_BLOCK_28\n* select - \u0441\u0442\u0440\u043e\u043a\u0430 \u0441 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f:\nCODE_BLOCK_29\n* host, port - \u0438\u043c\u044f \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e `searchd` \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 TCP \u043f\u043e\u0440\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e:\nCODE_BLOCK_30\n* ranker - \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0430\u044f \u0441 \u0440\u0435\u0436\u0438\u043c\u043e\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \"extended\", \u043a\u0430\u043a \u0432 [ranker](../Searching/Options.md#ranker). \u0418\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: \"proximity_bm25\", \"bm25\", \"none\", \"wordcount\", \"proximity\", \"matchany\", \"fieldmask\", \"sph04\", \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \"expr:EXPRESSION\" \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 (\u0433\u0434\u0435 EXPRESSION \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0437\u0430\u043c\u0435\u043d\u0451\u043d \u0432\u0430\u0448\u0435\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u043e\u0439 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f), \u0438 \"export:EXPRESSION\":\nCODE_BLOCK_31\n\u0420\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0449\u0438\u043a \"export\" \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e ranker=expr, \u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a ranker=expr \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u0438\u0445 \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f `WEIGHT()`. \u0423\u0447\u0442\u0438\u0442\u0435, \u0447\u0442\u043e ranker=export \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0440\u0430\u0437\u043e\u0432\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f (ML) \u0438\u043b\u0438 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438. \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u0432\u0430\u043c, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0437\u0430\u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u044b\u0432\u043e\u0434 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 `RANKFACTORS()`, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0441 \u0444\u0430\u043a\u0442\u043e\u0440\u0430\u043c\u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u043e\u043b\u0435\u0439 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430.\n\n<!-- example SQL Example_2 -->\n<!-- request -->\n\nCODE_BLOCK_32\n\n<!-- response -->\n\nCODE_BLOCK_33\n\n<!-- end -->\n\n* geoanchor - \u0433\u0435\u043e\u0434\u0438\u0441\u0442\u0430\u043d\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0430. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u0433\u0435\u043e\u043f\u043e\u0438\u0441\u043a\u0435 [\u0432 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435](../Searching/Geo_search.md). \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 4 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430: \u0438\u043c\u0435\u043d\u0430 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0448\u0438\u0440\u043e\u0442\u044b \u0438 \u0434\u043e\u043b\u0433\u043e\u0442\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u044f\u043a\u043e\u0440\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e:\nCODE_BLOCK_34\n\n\u041e\u0434\u043d\u043e **\u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e\u0435** \u0437\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0435: **\u0433\u043e\u0440\u0430\u0437\u0434\u043e** \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0442\u044c Manticore \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0443, \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044e \u0438 \u043d\u0430\u0440\u0435\u0437\u043a\u0443 \u043d\u0430\u0431\u043e\u0440\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432, \u0447\u0435\u043c \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e max matches \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c `WHERE`, `ORDER BY` \u0438 `LIMIT` \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 MySQL. \u042d\u0442\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u0432\u0443\u043c\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c\u0438. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, Manticore \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u0440\u044f\u0434 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u044d\u0442\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u043b\u0443\u0447\u0448\u0435, \u0447\u0435\u043c MySQL. \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043c\u0435\u043d\u044c\u0448\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0443\u0436\u043d\u043e \u0443\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c searchd, \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c SphinxSE.\n\n\n### \u0412\u0430\u0436\u043d\u043e\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0435 \u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u044f\u0445 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 SphinxSE\n\n\u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 5.0.0, Manticore \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0432\u0441\u0435 \u043f\u043e\u043b\u044f. \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 Manticore \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 MySQL \u0438\u043b\u0438 MariaDB \u0447\u0435\u0440\u0435\u0437 SphinxSE \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0432\u0441\u0435 \u043f\u043e\u043b\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044b \u0443\u0436\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u044b \u0432 MySQL/MariaDB. \u0412 \u0442\u0430\u043a\u0438\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0445 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u044f\u0432\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0435\u0439 \u0434\u043b\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Manticore, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0432:\n\nCODE_BLOCK_35\n\n\u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438: [stored_fields](../Creating_a_table/Local_tables/Plain_and_real-time_table_settings.md#stored_fields).\n\n\u0415\u0441\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e (\u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0432\u0441\u0435 \u043f\u043e\u043b\u044f) \u0438 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0437\u0430 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0447\u0435\u0440\u0435\u0437 SphinxSE, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0432\u044b\u0448\u0435\u043d \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043b\u0438\u043c\u0438\u0442 \u0432 \u0434\u0432\u0438\u0436\u043a\u0435, \u0438 \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043e\u0448\u0438\u0431\u043a\u0443 \u0432\u0438\u0434\u0430:\n\n\"bad searchd response length\"\n\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 `stored_fields =` \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 MySQL/MariaDB \u0438 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u044d\u0442\u0443 \u043e\u0448\u0438\u0431\u043a\u0443 \u0432 \u0442\u0438\u043f\u0438\u0447\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 SphinxSE.\n\n\n### SHOW ENGINE SPHINX STATUS\n\n<!-- example Example_3 -->\n\n\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0443\u044e \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 `SHOW ENGINE SPHINX STATUS`:\n\n<!-- request -->\n\n\nCODE_BLOCK_36\n\n<!-- response -->\nCODE_BLOCK_37\n\n<!-- end -->\n\n\n<!-- example Example_4 -->\n\n\u0422\u0430\u043a\u0436\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u044d\u0442\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0430\u0442\u0443\u0441\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435. \u0417\u0430\u043c\u0435\u0442\u044c\u0442\u0435, \u0447\u0442\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0430 \u0441\u0443\u043f\u0435\u0440\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.\n\n<!-- request -->\n\nCODE_BLOCK_38\n\n<!-- response -->\nCODE_BLOCK_39\n\n<!-- end -->\n\n\n<!-- example SQL Example_5 -->\n\n\u041f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b SphinxSE \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u043c\u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0432\u0438\u0436\u043a\u0438. \u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 \"documents\" \u0438\u0437 example.sql:\n\n<!-- request -->\n\nCODE_BLOCK_40\n\n<!-- response -->\n\nCODE_BLOCK_41\n\n<!-- end -->\n\n## \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 MySQL\n\n\nSphinxSE \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 UDF-\u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0443\u044e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e MySQL. \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0445\u043e\u0436\u0430 \u043d\u0430 [HIGHLIGHT()](../Searching/Highlighting.md#Highlighting), \u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 \u0441\u0432\u044f\u0437\u043a\u0443 MySQL+SphinxSE."
- },
- "is_code_or_comment": false,
- "model": "openai:gpt-4.1-mini",
- "updated_at": 1766339854
- },
- "08f93c7f08316d388e06441f11080bfcf20beb81093f835fd0994346db777bce": {
- "original": "# SphinxSE\n\nSphinxSE is a MySQL storage engine that can be compiled into MySQL/MariaDB servers using their pluggable architecture.\n\nDespite its name, SphinxSE does *not* actually store any data itself. Instead, it serves as a built-in client that enables the MySQL server to communicate with `searchd`, execute search queries, and retrieve search results. All indexing and searching take place outside MySQL.\n\nSome common SphinxSE applications include:\n* Simplifying the porting of MySQL Full-Text Search (FTS) applications to Manticore;\n* Enabling Manticore use with programming languages for which native APIs are not yet available;\n* Offering optimizations when additional Manticore result set processing is needed on the MySQL side (e.g., JOINs with original document tables or additional MySQL-side filtering).\n\n## Installing SphinxSE\n\nYou will need to obtain a copy of MySQL sources, prepare those, and then recompile MySQL binary. MySQL sources (mysql-5.x.yy.tar.gz) could be obtained from <http://dev.mysql.com> website.\n\n### Compiling MySQL 5.0.x with SphinxSE\n\n1. copy `sphinx.5.0.yy.diff` patch file into MySQL sources directory and run\nCODE_BLOCK_0\nIf there's no .diff file exactly for the specific version you need to: build, try applying .diff with closest version numbers. It is important that the patch should apply with no rejects.\n2. in MySQL sources directory, run\nCODE_BLOCK_1\n3. in MySQL sources directory, create `sql/sphinx` directory in and copy all files in `mysqlse` directory from Manticore sources there. Example:\nCODE_BLOCK_2\n4. configure MySQL and enable the new engine:\nCODE_BLOCK_3\n5. build and install MySQL:\nCODE_BLOCK_4\n\n### Compiling MySQL 5.1.x with SphinxSE\n\n1. In the MySQL sources directory, create a `storage/sphinx` directory and copy all files from the `mysqlse` directory in the Manticore sources to this new location. For example:\nCODE_BLOCK_5\n2. In the MySQL source directory, run:\nCODE_BLOCK_6\n3. Configure MySQL and enable the Manticore engine:\nCODE_BLOCK_7\n4. Build and install MySQL:\nCODE_BLOCK_8\n\n### Checking SphinxSE installation\n\n<!-- example Example_1 -->\n\nTo verify that SphinxSE has been successfully compiled into MySQL, start the newly built server, run the MySQL client, and issue the `SHOW ENGINES` query. You should see a list of all available engines. Manticore should be present, and the \"Support\" column should display \"YES\":\n\n<!-- request -->\n\nCODE_BLOCK_9\n\n<!-- response -->\nCODE_BLOCK_10\n\n<!-- end -->\n\n## Using SphinxSE\n\nTo search using SphinxSE, you'll need to create a special ENGINE=SPHINX \"search table\" and then use a `SELECT` statement with the full-text query placed in the `WHERE` clause for the query column.\n\nHere's an example create statement and search query:\n\nCODE_BLOCK_11\n\nIn a search table, the first three columns *must* have the following types: `INTEGER UNSIGNED` or `BIGINT` for the 1st column (document ID), `INTEGER` or `BIGINT` for the 2nd column (match weight), and `VARCHAR` or `TEXT` for the 3rd column (your query). This mapping is fixed; you cannot omit any of these three required columns, move them around, or change their types. Additionally, the query column must be indexed, while all others should remain unindexed. Column names are ignored, so you can use any arbitrary names.\n\nAdditional columns must be either `INTEGER`, `TIMESTAMP`, `BIGINT`, `VARCHAR`, or `FLOAT`. They will be bound to attributes provided in the Manticore result set by name, so their names must match the attribute names specified in `sphinx.conf`. If there's no matching attribute name in the Manticore search results, the column will have `NULL` values.\n\nSpecial \"virtual\" attribute names can also be bound to SphinxSE columns. Use `_sph_` instead of `@` for that purpose. For example, to obtain the values of `@groupby`, `@count`, or `@distinct` virtual attributes, use `_sph_groupby`, `_sph_count`, or `_sph_distinct` column names, respectively.\n\nThe `CONNECTION` string parameter is used to specify the Manticore host, port, and table. If no connection string is specified in `CREATE TABLE`, the table name `*` (i.e., search all tables) and `localhost:9312` are assumed. The connection string syntax is as follows:\n\nCODE_BLOCK_12\n\nYou can change the default connection string later:\n\nCODE_BLOCK_13\n\nYou can also override these parameters on a per-query basis.\n\nAs shown in the example, both the query text and search options should be placed in the `WHERE` clause on the search query column (i.e., the 3rd column). Options are separated by semicolons and their names from values by an equality sign. Any number of options can be specified. The available options are:",
- "translations": {
- "chinese": "# SphinxSE\n\nSphinxSE \u662f\u4e00\u4e2a\u53ef\u4ee5\u7f16\u8bd1\u8fdb MySQL/MariaDB \u670d\u52a1\u5668\u7684 MySQL \u5b58\u50a8\u5f15\u64ce\uff0c\u5229\u7528\u5b83\u4eec\u7684\u63d2\u4ef6\u67b6\u6784\u3002\n\n\u5c3d\u7ba1\u540d\u4e3a SphinxSE\uff0c\u4f46\u5b83\u5b9e\u9645\u4e0a\u5e76\u4e0d\u5b58\u50a8\u4efb\u4f55\u6570\u636e\u3002\u76f8\u53cd\uff0c\u5b83\u5145\u5f53\u5185\u7f6e\u5ba2\u6237\u7aef\uff0c\u4f7f MySQL \u670d\u52a1\u5668\u80fd\u591f\u4e0e `searchd` \u901a\u4fe1\uff0c\u6267\u884c\u641c\u7d22\u67e5\u8be2\u5e76\u68c0\u7d22\u641c\u7d22\u7ed3\u679c\u3002\u6240\u6709\u7684\u7d22\u5f15\u548c\u641c\u7d22\u90fd\u5728 MySQL \u4e4b\u5916\u8fdb\u884c\u3002\n\n\u4e00\u4e9b\u5e38\u89c1\u7684 SphinxSE \u5e94\u7528\u5305\u62ec\uff1a\n* \u7b80\u5316\u5c06 MySQL \u5168\u6587\u641c\u7d22\uff08FTS\uff09\u5e94\u7528\u7a0b\u5e8f\u8fc1\u79fb\u5230 Manticore\uff1b\n* \u4f7f Manticore \u80fd\u591f\u4e0e\u5c1a\u672a\u63d0\u4f9b\u539f\u751f API \u7684\u7f16\u7a0b\u8bed\u8a00\u4e00\u8d77\u4f7f\u7528\uff1b\n* \u5f53\u9700\u8981\u5728 MySQL \u4fa7\u8fdb\u884c\u989d\u5916\u7684 Manticore \u7ed3\u679c\u96c6\u5904\u7406\uff08\u4f8b\u5982\uff0c\u4e0e\u539f\u59cb\u6587\u6863\u8868\u7684 JOIN \u6216\u989d\u5916\u7684 MySQL \u4fa7\u8fc7\u6ee4\uff09\u65f6\u63d0\u4f9b\u4f18\u5316\u3002\n\n## \u5b89\u88c5 SphinxSE\n\n\u60a8\u9700\u8981\u83b7\u53d6 MySQL \u6e90\u4ee3\u7801\uff0c\u51c6\u5907\u8fd9\u4e9b\u6e90\u4ee3\u7801\uff0c\u7136\u540e\u91cd\u65b0\u7f16\u8bd1 MySQL \u4e8c\u8fdb\u5236\u6587\u4ef6\u3002\u53ef\u4ee5\u4ece <http://dev.mysql.com> \u7f51\u7ad9\u83b7\u53d6 MySQL \u6e90\u4ee3\u7801\uff08mysql-5.x.yy.tar.gz\uff09\u3002\n\n### \u7f16\u8bd1 MySQL 5.0.x \u4e0e SphinxSE\n\n1. \u5c06 `sphinx.5.0.yy.diff` \u5dee\u5f02\u6587\u4ef6\u590d\u5236\u5230 MySQL \u6e90\u4ee3\u7801\u76ee\u5f55\uff0c\u5e76\u8fd0\u884c\nCODE_BLOCK_0\n\u5982\u679c\u4e0d\u5b58\u5728\u4e0e\u6240\u9700\u5177\u4f53\u7248\u672c\u5b8c\u5168\u5339\u914d\u7684 .diff \u6587\u4ef6\uff1a \u6784\u5efa\uff0c\u5c1d\u8bd5\u4f7f\u7528\u6700\u8fd1\u7684\u7248\u672c\u53f7\u5e94\u7528 .diff\u3002 \u91cd\u8981\u7684\u662f\uff0c\u8be5\u8865\u4e01\u5e94\u80fd\u591f\u5e94\u7528\u4e14\u6ca1\u6709\u4efb\u4f55\u62d2\u7edd\u3002\n2. \u5728 MySQL \u6e90\u4ee3\u7801\u76ee\u5f55\u4e2d\uff0c\u8fd0\u884c\nCODE_BLOCK_1\n3. \u5728 MySQL \u6e90\u4ee3\u7801\u76ee\u5f55\u4e2d\uff0c\u521b\u5efa `sql/sphinx` \u76ee\u5f55\uff0c\u5e76\u5c06 Manticore \u6e90\u4ee3\u7801\u4e2d\u7684 `mysqlse` \u76ee\u5f55\u4e2d\u7684\u6240\u6709\u6587\u4ef6\u590d\u5236\u5230\u8be5\u76ee\u5f55\u3002\u4f8b\u5982\uff1a\nCODE_BLOCK_2\n4. \u914d\u7f6e MySQL \u5e76\u542f\u7528\u65b0\u5f15\u64ce\uff1a\nCODE_BLOCK_3\n5. \u7f16\u8bd1\u5e76\u5b89\u88c5 MySQL\uff1a\nCODE_BLOCK_4\n\n### \u7f16\u8bd1 MySQL 5.1.x \u4e0e SphinxSE\n\n1. \u5728 MySQL \u6e90\u4ee3\u7801\u76ee\u5f55\u4e2d\uff0c\u521b\u5efa\u4e00\u4e2a `storage/sphinx` \u76ee\u5f55\uff0c\u5e76\u5c06 Manticore \u6e90\u4ee3\u7801\u4e2d\u7684 `mysqlse` \u76ee\u5f55\u4e2d\u7684\u6240\u6709\u6587\u4ef6\u590d\u5236\u5230\u6b64\u65b0\u4f4d\u7f6e\u3002\u4f8b\u5982\uff1a\nCODE_BLOCK_5\n2. \u5728 MySQL \u6e90\u76ee\u5f55\u4e2d\uff0c\u8fd0\u884c\uff1a\nCODE_BLOCK_6\n3. \u914d\u7f6e MySQL \u5e76\u542f\u7528 Manticore \u5f15\u64ce\uff1a\nCODE_BLOCK_7\n4. \u7f16\u8bd1\u5e76\u5b89\u88c5 MySQL\uff1a\nCODE_BLOCK_8\n\n### \u68c0\u67e5 SphinxSE \u5b89\u88c5\n\n<!-- example Example_1 -->\n\n\u8981\u9a8c\u8bc1\u662f\u5426\u5df2\u6210\u529f\u5c06 SphinxSE \u7f16\u8bd1\u8fdb MySQL\uff0c\u8bf7\u542f\u52a8\u65b0\u6784\u5efa\u7684\u670d\u52a1\u5668\uff0c\u8fd0\u884c MySQL \u5ba2\u6237\u7aef\u5e76\u6267\u884c `SHOW ENGINES` \u67e5\u8be2\u3002\u60a8\u5e94\u8be5\u4f1a\u770b\u5230\u6240\u6709\u53ef\u7528\u5f15\u64ce\u7684\u5217\u8868\u3002Manticore \u5e94\u8be5\u5728\u5176\u4e2d\uff0c\u5e76\u4e14 \"Support\" \u5217\u5e94\u663e\u793a \"YES\"\uff1a\n\n<!-- request -->\n\nCODE_BLOCK_9\n\n<!-- response -->\nCODE_BLOCK_10\n\n<!-- end -->\n\n## \u4f7f\u7528 SphinxSE\n\n\u8981\u4f7f\u7528 SphinxSE \u8fdb\u884c\u641c\u7d22\uff0c\u60a8\u9700\u8981\u521b\u5efa\u4e00\u4e2a\u7279\u6b8a\u7684 ENGINE=SPHINX \"\u641c\u7d22\u8868\"\uff0c\u7136\u540e\u4f7f\u7528\u5e26\u6709\u5168\u6587\u67e5\u8be2\u7684 `SELECT` \u8bed\u53e5\u5728\u67e5\u8be2\u5217\u4e2d\u8fdb\u884c\u67e5\u8be2\u3002\n\n\u4ee5\u4e0b\u662f\u4e00\u4e2a\u521b\u5efa\u8bed\u53e5\u548c\u641c\u7d22\u67e5\u8be2\u7684\u793a\u4f8b\uff1a\n\nCODE_BLOCK_11\n\n\u5728\u641c\u7d22\u8868\u4e2d\uff0c\u524d\u4e09\u4e2a\u5217 *\u5fc5\u987b* \u5177\u6709\u4ee5\u4e0b\u7c7b\u578b\uff1a\u7b2c 1 \u5217\uff08\u6587\u6863 ID\uff09\u4e3a `INTEGER UNSIGNED` \u6216 `BIGINT`\uff0c\u7b2c 2 \u5217\uff08\u5339\u914d\u6743\u91cd\uff09\u4e3a `INTEGER` \u6216 `BIGINT`\uff0c\u7b2c 3 \u5217\uff08\u60a8\u7684\u67e5\u8be2\uff09\u4e3a `VARCHAR` \u6216 `TEXT`\u3002\u8fd9\u79cd\u6620\u5c04\u662f\u56fa\u5b9a\u7684\uff1b\u60a8\u4e0d\u80fd\u7701\u7565\u8fd9\u4e09\u4e2a\u5fc5\u9700\u7684\u5217\uff0c\u4e5f\u4e0d\u80fd\u6539\u53d8\u5b83\u4eec\u7684\u987a\u5e8f\u6216\u7c7b\u578b\u3002\u6b64\u5916\uff0c\u67e5\u8be2\u5217\u5fc5\u987b\u7d22\u5f15\uff0c\u800c\u5176\u4ed6\u5217\u5e94\u4fdd\u6301\u672a\u7d22\u5f15\u3002\u5217\u540d\u662f\u5ffd\u7565\u7684\uff0c\u56e0\u6b64\u60a8\u53ef\u4ee5\u4f7f\u7528\u4efb\u610f\u540d\u79f0\u3002\n\n\u989d\u5916\u7684\u5217\u5fc5\u987b\u662f `INTEGER`\u3001`TIMESTAMP`\u3001`BIGINT`\u3001`VARCHAR` \u6216 `FLOAT`\u3002\u5b83\u4eec\u5c06\u7ed1\u5b9a\u5230 Manticore \u7ed3\u679c\u96c6\u4e2d\u7684\u5c5e\u6027\uff0c\u56e0\u6b64\u5b83\u4eec\u7684\u540d\u79f0\u5fc5\u987b\u4e0e `sphinx.conf` \u4e2d\u6307\u5b9a\u7684\u5c5e\u6027\u540d\u79f0\u5339\u914d\u3002\u5982\u679c Manticore \u641c\u7d22\u7ed3\u679c\u4e2d\u6ca1\u6709\u5339\u914d\u7684\u5c5e\u6027\u540d\u79f0\uff0c\u5219\u8be5\u5217\u5c06\u5177\u6709 `NULL` \u503c\u3002\n\n\u8fd8\u53ef\u4ee5\u5c06\u7279\u6b8a\u201c\u865a\u62df\u201d\u5c5e\u6027\u540d\u79f0\u7ed1\u5b9a\u5230 SphinxSE \u5217\u3002\u4e3a\u6b64\uff0c\u8bf7\u4f7f\u7528 `_sph_` \u800c\u4e0d\u662f `@`\u3002\u4f8b\u5982\uff0c\u8981\u83b7\u53d6 `@groupby`\u3001`@count` \u6216 `@distinct` \u865a\u62df\u5c5e\u6027\u7684\u503c\uff0c\u8bf7\u4f7f\u7528 `_sph_groupby`\u3001`_sph_count` \u6216 `_sph_distinct` \u5217\u540d\uff0c\u5206\u522b\u3002\n\n`CONNECTION` \u5b57\u7b26\u4e32\u53c2\u6570\u7528\u4e8e\u6307\u5b9a Manticore \u7684\u4e3b\u673a\u3001\u7aef\u53e3\u548c\u8868\u3002\u5982\u679c\u5728 `CREATE TABLE` \u4e2d\u672a\u6307\u5b9a\u8fde\u63a5\u5b57\u7b26\u4e32\uff0c\u5219\u5047\u5b9a\u8868\u540d\u4e3a `*`\uff08\u5373\uff0c\u641c\u7d22\u6240\u6709\u8868\uff09\u548c `localhost:9312`\u3002\u8fde\u63a5\u5b57\u7b26\u4e32\u7684\u8bed\u6cd5\u5982\u4e0b\uff1a\n\nCODE_BLOCK_12\n\n\u7a0d\u540e\u53ef\u4ee5\u66f4\u6539\u9ed8\u8ba4\u8fde\u63a5\u5b57\u7b26\u4e32\uff1a\n\nCODE_BLOCK_13\n\n\u60a8\u4e5f\u53ef\u4ee5\u5728\u6bcf\u6b21\u67e5\u8be2\u65f6\u8986\u76d6\u8fd9\u4e9b\u53c2\u6570\u3002\n\n\u5982\u793a\u4f8b\u6240\u793a\uff0c\u67e5\u8be2\u6587\u672c\u548c\u641c\u7d22\u9009\u9879\u5e94\u653e\u7f6e\u5728\u641c\u7d22\u67e5\u8be2\u5217\uff08\u5373\u7b2c 3 \u5217\uff09\u7684 `WHERE` \u5b50\u53e5\u4e2d\u3002\u9009\u9879\u4e4b\u95f4\u7528\u5206\u53f7\u5206\u9694\uff0c\u540d\u79f0\u4e0e\u503c\u4e4b\u95f4\u7528\u7b49\u53f7\u5206\u9694\u3002\u53ef\u4ee5\u6307\u5b9a\u4efb\u610f\u6570\u91cf\u7684\u9009\u9879\u3002\u53ef\u7528\u7684\u9009\u9879\u6709\uff1a",
- "russian": "# SphinxSE\n\nSphinxSE \u2014 \u044d\u0442\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f MySQL, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u044b MySQL/MariaDB \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b.\n\n\u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, SphinxSE \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 *\u043d\u0435* \u0445\u0440\u0430\u043d\u0438\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043e\u043d \u0441\u043b\u0443\u0436\u0438\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0443 MySQL \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 `searchd`, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u043e\u0438\u0441\u043a\u0430. \u0412\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0442 \u0432\u043d\u0435 MySQL.\n\n\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f SphinxSE \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442:\n* \u0423\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u043e\u043b\u043d\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 (FTS) MySQL \u043d\u0430 Manticore;\n* \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Manticore \u0441 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 API;\n* \u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439, \u043a\u043e\u0433\u0434\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 Manticore \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 MySQL (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, JOIN \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u043b\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 MySQL).\n\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 SphinxSE\n\n\u0412\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043f\u0438\u044e \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 MySQL, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0435\u0451, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u0444\u0430\u0439\u043b MySQL. \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 MySQL (mysql-5.x.yy.tar.gz) \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441 \u0441\u0430\u0439\u0442\u0430 <http://dev.mysql.com>.\n\n### \u0421\u0431\u043e\u0440\u043a\u0430 MySQL 5.0.x \u0441 SphinxSE\n\n1. \u0421\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u043f\u0430\u0442\u0447\u0430 `sphinx.5.0.yy.diff` \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 MySQL \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435\nCODE_BLOCK_0\n\u0415\u0441\u043b\u0438 \u043d\u0435\u0442 .diff \u0444\u0430\u0439\u043b\u0430 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c .diff \u0441 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0431\u043b\u0438\u0437\u043a\u0438\u043c\u0438 \u043d\u043e\u043c\u0435\u0440\u0430\u043c\u0438 \u0432\u0435\u0440\u0441\u0438\u0439. \u0412\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0430\u0442\u0447 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b\u0441\u044f \u0431\u0435\u0437 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432.\n2. \u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 MySQL \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435\nCODE_BLOCK_1\n3. \u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 MySQL \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 `sql/sphinx` \u0438 \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0442\u0443\u0434\u0430 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0438\u0437 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 `mysqlse` \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 Manticore. \u041f\u0440\u0438\u043c\u0435\u0440:\nCODE_BLOCK_2\n4. \u0421\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0439\u0442\u0435 MySQL \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043d\u043e\u0432\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c:\nCODE_BLOCK_3\n5. \u0421\u043e\u0431\u0435\u0440\u0438\u0442\u0435 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 MySQL:\nCODE_BLOCK_4\n\n### \u0421\u0431\u043e\u0440\u043a\u0430 MySQL 5.1.x \u0441 SphinxSE\n\n1. \u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 MySQL \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 `storage/sphinx` \u0438 \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0438\u0437 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 `mysqlse` \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435 Manticore \u0432 \u044d\u0442\u043e \u043d\u043e\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:\nCODE_BLOCK_5\n2. \u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 MySQL \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435:\nCODE_BLOCK_6\n3. \u0421\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0439\u0442\u0435 MySQL \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c Manticore:\nCODE_BLOCK_7\n4. \u0421\u043e\u0431\u0435\u0440\u0438\u0442\u0435 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 MySQL:\nCODE_BLOCK_8\n\n### \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 SphinxSE\n\n<!-- example Example_1 -->\n\n\u0427\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e SphinxSE \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d \u0432 MySQL, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0432\u043d\u043e\u0432\u044c \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043a\u043b\u0438\u0435\u043d\u0442 MySQL \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0437\u0430\u043f\u0440\u043e\u0441 `SHOW ENGINES`. \u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432. Manticore \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c, \u0430 \u0432 \u0441\u0442\u043e\u043b\u0431\u0446\u0435 \"Support\" \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \"YES\":\n\n<!-- request -->\n\nCODE_BLOCK_9\n\n<!-- response -->\nCODE_BLOCK_10\n\n<!-- end -->\n\n## \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 SphinxSE\n\n\u0414\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e SphinxSE \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \"\u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443\" \u0441 ENGINE=SPHINX, \u0430 \u0437\u0430\u0442\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 `SELECT`, \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0432 \u043f\u043e\u043b\u043d\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 `WHERE` \u0434\u043b\u044f \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430.\n\n\u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\nCODE_BLOCK_11\n\n\u0412 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043f\u0435\u0440\u0432\u044b\u0435 \u0442\u0440\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u0430 *\u0434\u043e\u043b\u0436\u043d\u044b* \u0438\u043c\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0442\u0438\u043f\u044b: `INTEGER UNSIGNED` \u0438\u043b\u0438 `BIGINT` \u0434\u043b\u044f 1-\u0433\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0430 (ID \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430), `INTEGER` \u0438\u043b\u0438 `BIGINT` \u0434\u043b\u044f 2-\u0433\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0430 (\u0432\u0435\u0441 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f) \u0438 `VARCHAR` \u0438\u043b\u0438 `TEXT` \u0434\u043b\u044f 3-\u0433\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0430 (\u0432\u0430\u0448 \u0437\u0430\u043f\u0440\u043e\u0441). \u042d\u0442\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043e; \u0432\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u0438\u0437 \u044d\u0442\u0438\u0445 \u0442\u0440\u0451\u0445 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432, \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u0438\u0445 \u043c\u0435\u0441\u0442\u0430\u043c\u0438 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0445 \u0442\u0438\u043f\u044b. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d, \u0430 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u2014 \u043d\u0435\u0442. \u0418\u043c\u0435\u043d\u0430 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430.\n\n\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0442\u0438\u043f\u0430 `INTEGER`, `TIMESTAMP`, `BIGINT`, `VARCHAR` \u0438\u043b\u0438 `FLOAT`. \u041e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b \u043a \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u043c, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u043c \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u043c \u043d\u0430\u0431\u043e\u0440\u0435 Manticore, \u043f\u043e \u0438\u043c\u0435\u043d\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0445 \u0438\u043c\u0435\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 `sphinx.conf`. \u0415\u0441\u043b\u0438 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 \u043f\u043e\u0438\u0441\u043a\u0430 Manticore \u043d\u0435\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0438\u043c\u0435\u043d\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430, \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f `NULL`.\n\n\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \"\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435\" \u0438\u043c\u0435\u043d\u0430 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b \u043a \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c SphinxSE. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e `_sph_` \u0432\u043c\u0435\u0441\u0442\u043e `@`. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 `@groupby`, `@count` \u0438\u043b\u0438 `@distinct`, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0438\u043c\u0435\u043d\u0430 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 `_sph_groupby`, `_sph_count` \u0438\u043b\u0438 `_sph_distinct` \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.\n\n\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 `CONNECTION` \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0445\u043e\u0441\u0442\u0430, \u043f\u043e\u0440\u0442\u0430 \u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Manticore. \u0415\u0441\u043b\u0438 \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u0432 `CREATE TABLE`, \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0438\u043c\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b `*` (\u0442.\u0435. \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u0432\u0441\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c) \u0438 `localhost:9312`. \u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439:\n\nCODE_BLOCK_12\n\n\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u043e\u0437\u0436\u0435:\n\nCODE_BLOCK_13\n\n\u0412\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u044d\u0442\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430.\n\n\u041a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e\u0438\u0441\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u044b \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 `WHERE` \u0434\u043b\u044f \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (\u0442.\u0435. 3-\u0433\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0430). \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u043e\u0447\u043a\u043e\u0439 \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439, \u0430 \u0438\u0445 \u0438\u043c\u0435\u043d\u0430 \u043e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u2014 \u0437\u043d\u0430\u043a\u043e\u043c \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u0430. \u041c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:"
- },
- "is_code_or_comment": false,
- "model": "deepseek/deepseek-v3.2",
- "updated_at": 1766374237
- },
- "82620a92495cc75d2527d1edcf5e63939f51f9523bf5a76895b727a48a2304b8": {
- "original": "* query - query text;\n* mode - matching mode. Must be one of \"all\", \"any\", \"phrase\", \"boolean\", or \"extended\". Default is \"all\";\n* sort - match sorting mode. Must be one of \"relevance\", \"attr_desc\", \"attr_asc\", \"time_segments\", or \"extended\". In all modes besides \"relevance\", the attribute name (or sorting clause for \"extended\") is also required after a colon:\nCODE_BLOCK_14\n* offset - offset into the result set; default is 0;\n* limit - number of matches to retrieve from the result set; default is 20;\n* index - names of the tables to search:\nCODE_BLOCK_15\n* minid, maxid - min and max document ID to match;\n* weights - comma-separated list of weights to be assigned to Manticore full-text fields:\nCODE_BLOCK_16\n* filter, !filter - comma-separated attribute name and a set of values to match:\nCODE_BLOCK_17\n* range, !range - comma-separated (integer or bigint) Manticore attribute name, and min and max values to match:\nCODE_BLOCK_18\n* floatrange, !floatrange - comma-separated (floating point) Manticore attribute name, and min and max values to match:\nCODE_BLOCK_19\n* maxmatches - maxmatches - per-query max matches value, as in [max_matches search option](../Searching/Options.md#max_matches):\nCODE_BLOCK_20\n* cutoff - maximum allowed matches, as in [cutoff search option](../Searching/Options.md#cutoff):\nCODE_BLOCK_21\n* maxquerytime - maximum allowed query time (in milliseconds), as in [max_query_time search option](../Searching/Options.md#max_query_time):\nCODE_BLOCK_22\n* groupby - group-by function and attribute. Read [this](../Searching/Grouping.md#Just-Grouping) about grouping search results:\nCODE_BLOCK_23\n* groupsort - group-by sorting clause:\nCODE_BLOCK_24\n* distinct - an attribute to compute [COUNT(DISTINCT)](../Searching/Grouping.md#COUNT%28DISTINCT-field%29) for when doing group-by:\nCODE_BLOCK_25\n* indexweights - comma-separated list of table names and weights to use when searching through several tables:\nCODE_BLOCK_26\n* fieldweights - comma-separated list of per-field weights that can be used by the ranker:\nCODE_BLOCK_27\n* comment - a string to mark this query in query log, as in [comment search option](../Searching/Options.md#comment):\nCODE_BLOCK_28\n* select - a string with expressions to compute:\nCODE_BLOCK_29\n* host, port - remote `searchd` host name and TCP port, respectively:\nCODE_BLOCK_30\n* ranker - a ranking function to use with \"extended\" matching mode, as in [ranker](../Searching/Options.md#ranker). Known values are \"proximity_bm25\", \"bm25\", \"none\", \"wordcount\", \"proximity\", \"matchany\", \"fieldmask\", \"sph04\", \"expr:EXPRESSION\" syntax to support expression-based ranker (where EXPRESSION should be replaced with your specific ranking formula), and \"export:EXPRESSION\":\nCODE_BLOCK_31\nThe \"export\" ranker functions similarly to ranker=expr, but it retains the per-document factor values, while ranker=expr discards them after computing the final `WEIGHT()` value. Keep in mind that ranker=export is intended for occasional use, such as training a machine learning (ML) function or manually defining your own ranking function, and should not be used in actual production. When utilizing this ranker, you'll likely want to examine the output of the `RANKFACTORS()` function, which generates a string containing all the field-level factors for each document.\n\n<!-- example SQL Example_2 -->\n<!-- request -->\n\nCODE_BLOCK_32\n\n<!-- response -->\n\nCODE_BLOCK_33\n\n<!-- end -->\n\n* geoanchor - geodistance anchor. Learn more about Geo-search [in this section](../Searching/Geo_search.md). Takes 4 parameters, which are the latitude and longitude attribute names, and anchor point coordinates, respectively:\nCODE_BLOCK_34\n\nOne **very important** note is that it is **much** more efficient to let Manticore handle sorting, filtering, and slicing the result set, rather than increasing the max matches count and using `WHERE`, `ORDER BY`, and `LIMIT` clauses on the MySQL side. This is due to two reasons. First, Manticore employs a variety of optimizations and performs these tasks better than MySQL. Second, less data would need to be packed by searchd, transferred, and unpacked by SphinxSE.\n\n### Important note about stored fields when using SphinxSE\n\nSince version 5.0.0, Manticore stores all fields by default. When Manticore is used together with MySQL or MariaDB via SphinxSE, storing all fields usually does not make sense because the originals are already stored in MySQL/MariaDB. In such setups it is recommended to explicitly disable stored fields for the involved Manticore table by setting:\n\nCODE_BLOCK_35\n\nSee the setting reference: [stored_fields](../Creating_a_table/Local_tables/Plain_and_real-time_table_settings.md#stored_fields).\n\nIf you keep the default (all fields stored) and then select a lot of documents at once through SphinxSE, an internal limit in the engine may be exceeded and you may receive an error like:\n\n\"bad searchd response length\"\n\nSetting `stored_fields =` avoids sending large stored payloads back to MySQL/MariaDB and prevents this error in typical SphinxSE integrations.\n\n### SHOW ENGINE SPHINX STATUS\n\n<!-- example Example_3 -->\n\nYou can obtain additional information related to the query results using the `SHOW ENGINE SPHINX STATUS` statement:\n\n<!-- request -->\n\nCODE_BLOCK_36\n\n<!-- response -->\nCODE_BLOCK_37\n\n<!-- end -->\n\n<!-- example Example_4 -->\n\nYou can also access this information through status variables. Keep in mind that using this method does not require super-user privileges.\n\n<!-- request -->\n\nCODE_BLOCK_38\n\n<!-- response -->\nCODE_BLOCK_39\n\n<!-- end -->\n\n<!-- example SQL Example_5 -->\n\nSphinxSE search tables can be joined with tables using other engines. Here's an example using the \"documents\" table from example.sql:\n\n<!-- request -->\n\nCODE_BLOCK_40\n\n<!-- response -->\n\nCODE_BLOCK_41\n\n<!-- end -->\n\n## Building snippets via MySQL\n\nSphinxSE also features a UDF function that allows you to create snippets using MySQL. This functionality is similar to [HIGHLIGHT()](../Searching/Highlighting.md#Highlighting), but can be accessed through MySQL+SphinxSE.",
- "translations": {
- "chinese": "* query - \u67e5\u8be2\u6587\u672c\uff1b\n* mode - \u5339\u914d\u6a21\u5f0f\u3002\u5fc5\u987b\u662f \"all\"\u3001\"any\"\u3001\"phrase\"\u3001\"boolean\" \u6216 \"extended\" \u4e4b\u4e00\u3002\u9ed8\u8ba4\u4e3a \"all\"\uff1b\n* sort - \u5339\u914d\u6392\u5e8f\u6a21\u5f0f\u3002\u5fc5\u987b\u662f \"relevance\"\u3001\"attr_desc\"\u3001\"attr_asc\"\u3001\"time_segments\" \u6216 \"extended\" \u4e4b\u4e00\u3002\u5728\u9664 \"relevance\" \u4e4b\u5916\u7684\u6240\u6709\u6a21\u5f0f\u4e2d\uff0c\u5192\u53f7\u540e\u8fd8\u9700\u8981\u5c5e\u6027\u540d\uff08\u6216 \"extended\" \u7684\u6392\u5e8f\u5b50\u53e5\uff09\uff1a\nCODE_BLOCK_14\n* offset - \u7ed3\u679c\u96c6\u4e2d\u7684\u504f\u79fb\u91cf\uff1b\u9ed8\u8ba4\u4e3a 0\uff1b\n* limit - \u4ece\u7ed3\u679c\u96c6\u4e2d\u68c0\u7d22\u7684\u5339\u914d\u9879\u6570\u91cf\uff1b\u9ed8\u8ba4\u4e3a 20\uff1b\n* index - \u8981\u641c\u7d22\u7684\u8868\u540d\uff1a\nCODE_BLOCK_15\n* minid, maxid - \u8981\u5339\u914d\u7684\u6700\u5c0f\u548c\u6700\u5927\u6587\u6863 ID\uff1b\n* weights - \u5206\u914d\u7ed9 Manticore \u5168\u6587\u5b57\u6bb5\u7684\u6743\u91cd\u9017\u53f7\u5206\u9694\u5217\u8868\uff1a\nCODE_BLOCK_16\n* filter, !filter - \u9017\u53f7\u5206\u9694\u7684\u5c5e\u6027\u540d\u548c\u8981\u5339\u914d\u7684\u503c\u96c6\u5408\uff1a\nCODE_BLOCK_17\n* range, !range - \u9017\u53f7\u5206\u9694\u7684\uff08\u6574\u6570\u6216\u5927\u6574\u6570\uff09Manticore \u5c5e\u6027\u540d\uff0c\u4ee5\u53ca\u8981\u5339\u914d\u7684\u6700\u5c0f\u548c\u6700\u5927\u503c\uff1a\nCODE_BLOCK_18\n* floatrange, !floatrange - \u9017\u53f7\u5206\u9694\u7684\uff08\u6d6e\u70b9\u6570\uff09Manticore \u5c5e\u6027\u540d\uff0c\u4ee5\u53ca\u8981\u5339\u914d\u7684\u6700\u5c0f\u548c\u6700\u5927\u503c\uff1a\nCODE_BLOCK_19\n* maxmatches - maxmatches - \u6bcf\u4e2a\u67e5\u8be2\u7684\u6700\u5927\u5339\u914d\u503c\uff0c\u5982 [max_matches \u641c\u7d22\u9009\u9879](../Searching/Options.md#max_matches) \u6240\u8ff0\uff1a\nCODE_BLOCK_20\n* cutoff - \u6700\u5927\u5141\u8bb8\u5339\u914d\u6570\uff0c\u5982 [cutoff \u641c\u7d22\u9009\u9879](../Searching/Options.md#cutoff) \u6240\u8ff0\uff1a\nCODE_BLOCK_21\n* maxquerytime - \u6700\u5927\u5141\u8bb8\u67e5\u8be2\u65f6\u95f4\uff08\u6beb\u79d2\uff09\uff0c\u5982 [max_query_time \u641c\u7d22\u9009\u9879](../Searching/Options.md#max_query_time) \u6240\u8ff0\uff1a\nCODE_BLOCK_22\n* groupby - \u5206\u7ec4\u51fd\u6570\u548c\u5c5e\u6027\u3002\u5173\u4e8e\u5206\u7ec4\u641c\u7d22\u7ed3\u679c\uff0c\u8bf7\u9605\u8bfb [\u6b64\u5904](../Searching/Grouping.md#Just-Grouping)\uff1a\nCODE_BLOCK_23\n* groupsort - \u5206\u7ec4\u6392\u5e8f\u5b50\u53e5\uff1a\nCODE_BLOCK_24\n* distinct - \u8fdb\u884c\u5206\u7ec4\u65f6\u7528\u4e8e\u8ba1\u7b97 [COUNT(DISTINCT)](../Searching/Grouping.md#COUNT%28DISTINCT-field%29) \u7684\u5c5e\u6027\uff1a\nCODE_BLOCK_25\n* indexweights - \u9017\u53f7\u5206\u9694\u7684\u8868\u540d\u548c\u6743\u91cd\u5217\u8868\uff0c\u7528\u4e8e\u5728\u591a\u4e2a\u8868\u4e2d\u641c\u7d22\u65f6\u4f7f\u7528\uff1a\nCODE_BLOCK_26\n* fieldweights - \u9017\u53f7\u5206\u9694\u7684\u6bcf\u5b57\u6bb5\u6743\u91cd\u5217\u8868\uff0c\u53ef\u4f9b\u6392\u5e8f\u5668\u4f7f\u7528\uff1a\nCODE_BLOCK_27\n* comment - \u7528\u4e8e\u5728\u67e5\u8be2\u65e5\u5fd7\u4e2d\u6807\u8bb0\u6b64\u67e5\u8be2\u7684\u5b57\u7b26\u4e32\uff0c\u5982 [comment \u641c\u7d22\u9009\u9879](../Searching/Options.md#comment) \u6240\u8ff0\uff1a\nCODE_BLOCK_28\n* select - \u5305\u542b\u8981\u8ba1\u7b97\u7684\u8868\u8fbe\u5f0f\u7684\u5b57\u7b26\u4e32\uff1a\nCODE_BLOCK_29\n* host, port - \u8fdc\u7a0b `searchd` \u4e3b\u673a\u540d\u548c TCP \u7aef\u53e3\uff0c\u5206\u522b\u5bf9\u5e94\uff1a\nCODE_BLOCK_30\n* ranker - \u4e0e \"extended\" \u5339\u914d\u6a21\u5f0f\u4e00\u8d77\u4f7f\u7528\u7684\u6392\u5e8f\u51fd\u6570\uff0c\u5982 [ranker](../Searching/Options.md#ranker) \u6240\u8ff0\u3002\u5df2\u77e5\u503c\u6709 \"proximity_bm25\"\u3001\"bm25\"\u3001\"none\"\u3001\"wordcount\"\u3001\"proximity\"\u3001\"matchany\"\u3001\"fieldmask\"\u3001\"sph04\"\u3001\"expr:EXPRESSION\" \u8bed\u6cd5\u652f\u6301\u57fa\u4e8e\u8868\u8fbe\u5f0f\u7684\u6392\u5e8f\u5668\uff08\u5176\u4e2d EXPRESSION \u5e94\u66ff\u6362\u4e3a\u60a8\u7684\u7279\u5b9a\u6392\u5e8f\u516c\u5f0f\uff09\uff0c\u4ee5\u53ca \"export:EXPRESSION\"\uff1a\nCODE_BLOCK_31\n\"export\" \u6392\u5e8f\u5668\u7684\u529f\u80fd\u7c7b\u4f3c\u4e8e ranker=expr\uff0c\u4f46\u5b83\u4f1a\u4fdd\u7559\u6bcf\u4e2a\u6587\u6863\u7684\u56e0\u5b50\u503c\uff0c\u800c ranker=expr \u5728\u8ba1\u7b97\u6700\u7ec8\u7684 `WEIGHT()` \u503c\u540e\u4f1a\u4e22\u5f03\u5b83\u4eec\u3002\u8bf7\u6ce8\u610f\uff0cranker=export \u65e8\u5728\u5076\u5c14\u4f7f\u7528\uff0c\u4f8b\u5982\u8bad\u7ec3\u673a\u5668\u5b66\u4e60\uff08ML\uff09\u51fd\u6570\u6216\u624b\u52a8\u5b9a\u4e49\u60a8\u81ea\u5df1\u7684\u6392\u5e8f\u51fd\u6570\uff0c\u4e0d\u5e94\u5728\u5b9e\u9645\u751f\u4ea7\u4e2d\u4f7f\u7528\u3002\u4f7f\u7528\u6b64\u6392\u5e8f\u5668\u65f6\uff0c\u60a8\u53ef\u80fd\u9700\u8981\u68c0\u67e5 `RANKFACTORS()` \u51fd\u6570\u7684\u8f93\u51fa\uff0c\u8be5\u51fd\u6570\u4f1a\u751f\u6210\u4e00\u4e2a\u5305\u542b\u6bcf\u4e2a\u6587\u6863\u6240\u6709\u5b57\u6bb5\u7ea7\u56e0\u5b50\u7684\u5b57\u7b26\u4e32\u3002\n\n<!-- example SQL Example_2 -->\n<!-- request -->\n\nCODE_BLOCK_32\n\n<!-- response -->\n\nCODE_BLOCK_33\n\n<!-- end -->\n\n* geoanchor - \u5730\u7406\u8ddd\u79bb\u951a\u70b9\u3002\u5728 [\u672c\u8282](../Searching/Geo_search.md) \u4e2d\u4e86\u89e3\u66f4\u591a\u5173\u4e8e\u5730\u7406\u641c\u7d22\u7684\u4fe1\u606f\u3002\u63a5\u53d7 4 \u4e2a\u53c2\u6570\uff0c\u5206\u522b\u662f\u7eac\u5ea6\u548c\u7ecf\u5ea6\u5c5e\u6027\u540d\uff0c\u4ee5\u53ca\u951a\u70b9\u5750\u6807\uff1a\nCODE_BLOCK_34\n\n\u4e00\u4e2a **\u975e\u5e38\u91cd\u8981** \u7684\u6ce8\u610f\u4e8b\u9879\u662f\uff0c\u8ba9 Manticore \u5904\u7406\u7ed3\u679c\u96c6\u7684\u6392\u5e8f\u3001\u8fc7\u6ee4\u548c\u5206\u7247\uff0c\u6bd4\u589e\u52a0\u6700\u5927\u5339\u914d\u6570\u5e76\u5728 MySQL \u7aef\u4f7f\u7528 `WHERE`\u3001`ORDER BY` \u548c `LIMIT` \u5b50\u53e5 **\u8981\u9ad8\u6548\u5f97\u591a**\u3002\u8fd9\u6709\u4e24\u4e2a\u539f\u56e0\u3002\u9996\u5148\uff0cManticore \u91c7\u7528\u4e86\u591a\u79cd\u4f18\u5316\u63aa\u65bd\uff0c\u5e76\u4e14\u6bd4 MySQL \u66f4\u597d\u5730\u6267\u884c\u8fd9\u4e9b\u4efb\u52a1\u3002\u5176\u6b21\uff0csearchd \u9700\u8981\u6253\u5305\u3001\u4f20\u8f93\u4ee5\u53ca SphinxSE \u9700\u8981\u89e3\u5305\u7684\u6570\u636e\u91cf\u4f1a\u66f4\u5c11\u3002\n\n### \u5173\u4e8e\u4f7f\u7528 SphinxSE \u65f6\u5b58\u50a8\u5b57\u6bb5\u7684\u91cd\u8981\u8bf4\u660e\n\n\u81ea 5.0.0 \u7248\u672c\u8d77\uff0cManticore \u9ed8\u8ba4\u5b58\u50a8\u6240\u6709\u5b57\u6bb5\u3002\u5f53 Manticore \u901a\u8fc7 SphinxSE \u4e0e MySQL \u6216 MariaDB \u4e00\u8d77\u4f7f\u7528\u65f6\uff0c\u5b58\u50a8\u6240\u6709\u5b57\u6bb5\u901a\u5e38\u6ca1\u6709\u610f\u4e49\uff0c\u56e0\u4e3a\u539f\u59cb\u6570\u636e\u5df2\u7ecf\u5b58\u50a8\u5728 MySQL/MariaDB \u4e2d\u3002\u5728\u6b64\u7c7b\u8bbe\u7f6e\u4e2d\uff0c\u5efa\u8bae\u901a\u8fc7\u4ee5\u4e0b\u8bbe\u7f6e\u663e\u5f0f\u7981\u7528\u76f8\u5173 Manticore \u8868\u7684\u5b58\u50a8\u5b57\u6bb5\uff1a\n\nCODE_BLOCK_35\n\n\u8bf7\u53c2\u9605\u8bbe\u7f6e\u53c2\u8003\uff1a[stored_fields](../Creating_a_table/Local_tables/Plain_and_real-time_table_settings.md#stored_fields)\u3002\n\n\u5982\u679c\u60a8\u4fdd\u6301\u9ed8\u8ba4\u8bbe\u7f6e\uff08\u5b58\u50a8\u6240\u6709\u5b57\u6bb5\uff09\uff0c\u7136\u540e\u901a\u8fc7 SphinxSE \u4e00\u6b21\u6027\u9009\u62e9\u5927\u91cf\u6587\u6863\uff0c\u53ef\u80fd\u4f1a\u8d85\u51fa\u5f15\u64ce\u7684\u5185\u90e8\u9650\u5236\uff0c\u5e76\u6536\u5230\u7c7b\u4f3c\u4ee5\u4e0b\u7684\u9519\u8bef\uff1a\n\n\"bad searchd response length\"\n\n\u8bbe\u7f6e `stored_fields =` \u53ef\u4ee5\u907f\u514d\u5c06\u5927\u578b\u5b58\u50a8\u8d1f\u8f7d\u53d1\u9001\u56de MySQL/MariaDB\uff0c\u5e76\u5728\u5178\u578b\u7684 SphinxSE \u96c6\u6210\u4e2d\u9632\u6b62\u6b64\u9519\u8bef\u3002\n\n### SHOW ENGINE SPHINX STATUS\n\n<!-- example Example_3 -->\n\n\u60a8\u53ef\u4ee5\u4f7f\u7528 `SHOW ENGINE SPHINX STATUS` \u8bed\u53e5\u83b7\u53d6\u4e0e\u67e5\u8be2\u7ed3\u679c\u76f8\u5173\u7684\u9644\u52a0\u4fe1\u606f\uff1a\n\n<!-- request -->\n\nCODE_BLOCK_36\n\n<!-- response -->\nCODE_BLOCK_37\n\n<!-- end -->\n\n<!-- example Example_4 -->\n\n\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u72b6\u6001\u53d8\u91cf\u8bbf\u95ee\u6b64\u4fe1\u606f\u3002\u8bf7\u6ce8\u610f\uff0c\u4f7f\u7528\u6b64\u65b9\u6cd5\u4e0d\u9700\u8981\u8d85\u7ea7\u7528\u6237\u6743\u9650\u3002\n\n<!-- request -->\n\nCODE_BLOCK_38\n\n<!-- response -->\nCODE_BLOCK_39\n\n<!-- end -->\n\n<!-- example SQL Example_5 -->\n\nSphinxSE \u641c\u7d22\u8868\u53ef\u4ee5\u4e0e\u5176\u4ed6\u5f15\u64ce\u7684\u8868\u8fdb\u884c\u8fde\u63a5\u3002\u4ee5\u4e0b\u662f\u4f7f\u7528 example.sql \u4e2d\u7684 \"documents\" \u8868\u7684\u793a\u4f8b\uff1a\n\n<!-- request -->\n\nCODE_BLOCK_40\n\n<!-- response -->\n\nCODE_BLOCK_41\n\n<!-- end -->\n\n## \u901a\u8fc7 MySQL \u6784\u5efa\u6458\u8981\n\nSphinxSE \u8fd8\u5177\u6709\u4e00\u4e2a UDF \u51fd\u6570\uff0c\u5141\u8bb8\u60a8\u4f7f\u7528 MySQL \u521b\u5efa\u6458\u8981\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e [HIGHLIGHT()](../Searching/Highlighting.md#Highlighting)\uff0c\u4f46\u53ef\u4ee5\u901a\u8fc7 MySQL+SphinxSE \u8bbf\u95ee\u3002",
- "russian": "* query - \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430;\n* mode - \u0440\u0435\u0436\u0438\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f. \u0414\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \"all\", \"any\", \"phrase\", \"boolean\" \u0438\u043b\u0438 \"extended\". \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \"all\";\n* sort - \u0440\u0435\u0436\u0438\u043c \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0439. \u0414\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \"relevance\", \"attr_desc\", \"attr_asc\", \"time_segments\" \u0438\u043b\u0438 \"extended\". \u0412\u043e \u0432\u0441\u0435\u0445 \u0440\u0435\u0436\u0438\u043c\u0430\u0445, \u043a\u0440\u043e\u043c\u0435 \"relevance\", \u043f\u043e\u0441\u043b\u0435 \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u044f \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 (\u0438\u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0434\u043b\u044f \"extended\"):\nCODE_BLOCK_14\n* offset - \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432 \u043d\u0430\u0431\u043e\u0440\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432; \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 0;\n* limit - \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432; \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 20;\n* index - \u0438\u043c\u0435\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430:\nCODE_BLOCK_15\n* minid, maxid - \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f;\n* weights - \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0435\u0441\u043e\u0432, \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u044f\u0442\u044b\u043c\u0438, \u0434\u043b\u044f \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u043c \u043f\u043e\u043b\u044f\u043c Manticore:\nCODE_BLOCK_16\n* filter, !filter - \u0438\u043c\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u0438 \u043d\u0430\u0431\u043e\u0440 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f, \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u044f\u0442\u044b\u043c\u0438:\nCODE_BLOCK_17\n* range, !range - \u0438\u043c\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 Manticore (\u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043b\u0438 bigint), \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f, \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u044f\u0442\u044b\u043c\u0438:\nCODE_BLOCK_18\n* floatrange, !floatrange - \u0438\u043c\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 Manticore (\u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u043e\u0439), \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f, \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u044f\u0442\u044b\u043c\u0438:\nCODE_BLOCK_19\n* maxmatches - \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 maxmatches \u0434\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u043a\u0430\u043a \u0432 [\u043e\u043f\u0446\u0438\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 max_matches](../Searching/Options.md#max_matches):\nCODE_BLOCK_20\n* cutoff - \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0439, \u043a\u0430\u043a \u0432 [\u043e\u043f\u0446\u0438\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 cutoff](../Searching/Options.md#cutoff):\nCODE_BLOCK_21\n* maxquerytime - \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (\u0432 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445), \u043a\u0430\u043a \u0432 [\u043e\u043f\u0446\u0438\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 max_query_time](../Searching/Options.md#max_query_time):\nCODE_BLOCK_22\n* groupby - \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438 \u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442. \u041f\u0440\u043e\u0447\u0442\u0438\u0442\u0435 [\u044d\u0442\u043e](../Searching/Grouping.md#Just-Grouping) \u043e \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043f\u043e\u0438\u0441\u043a\u0430:\nCODE_BLOCK_23\n* groupsort - \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0434\u043b\u044f \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438:\nCODE_BLOCK_24\n* distinct - \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f [COUNT(DISTINCT)](../Searching/Grouping.md#COUNT%28DISTINCT-field%29) \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438:\nCODE_BLOCK_25\n* indexweights - \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u043c\u0435\u043d \u0442\u0430\u0431\u043b\u0438\u0446 \u0438 \u0432\u0435\u0441\u043e\u0432, \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u044f\u0442\u044b\u043c\u0438, \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438 \u043f\u043e\u0438\u0441\u043a\u0435 \u043f\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c:\nCODE_BLOCK_26\n* fieldweights - \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0435\u0441\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044f, \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u044f\u0442\u044b\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u043d\u043a\u0435\u0440\u043e\u043c:\nCODE_BLOCK_27\n* comment - \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u043b\u044f \u043f\u043e\u043c\u0435\u0442\u043a\u0438 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043a\u0430\u043a \u0432 [\u043e\u043f\u0446\u0438\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 comment](../Searching/Options.md#comment):\nCODE_BLOCK_28\n* select - \u0441\u0442\u0440\u043e\u043a\u0430 \u0441 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f:\nCODE_BLOCK_29\n* host, port - \u0438\u043c\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430 `searchd` \u0438 TCP-\u043f\u043e\u0440\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e:\nCODE_BLOCK_30\n* ranker - \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0440\u0435\u0436\u0438\u043c\u043e\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \"extended\", \u043a\u0430\u043a \u0432 [ranker](../Searching/Options.md#ranker). \u0418\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: \"proximity_bm25\", \"bm25\", \"none\", \"wordcount\", \"proximity\", \"matchany\", \"fieldmask\", \"sph04\", \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \"expr:EXPRESSION\" \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0440\u0430\u043d\u043a\u0435\u0440\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 (\u0433\u0434\u0435 EXPRESSION \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 \u0432\u0430\u0448\u0443 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f) \u0438 \"export:EXPRESSION\":\nCODE_BLOCK_31\n\u0420\u0430\u043d\u043a\u0435\u0440 \"export\" \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u0442 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e ranker=expr, \u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a ranker=expr \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u0438\u0445 \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f `WEIGHT()`. \u0418\u043c\u0435\u0439\u0442\u0435 \u0432 \u0432\u0438\u0434\u0443, \u0447\u0442\u043e ranker=export \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u044d\u043f\u0438\u0437\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f (ML) \u0438\u043b\u0438 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0440\u0430\u043d\u043a\u0435\u0440\u0430 \u0432\u0430\u043c, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0437\u0430\u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0432\u044b\u0432\u043e\u0434 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 `RANKFACTORS()`, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0443\u044e \u0432\u0441\u0435 \u0444\u0430\u043a\u0442\u043e\u0440\u044b \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u043e\u043b\u0435\u0439 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430.\n\n<!-- example SQL Example_2 -->\n<!-- request -->\n\nCODE_BLOCK_32\n\n<!-- response -->\n\nCODE_BLOCK_33\n\n<!-- end -->\n\n* geoanchor - \u044f\u043a\u043e\u0440\u044c \u0433\u0435\u043e\u0434\u0438\u0441\u0442\u0430\u043d\u0446\u0438\u0438. \u0423\u0437\u043d\u0430\u0439\u0442\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043e \u0433\u0435\u043e\u043f\u043e\u0438\u0441\u043a\u0435 [\u0432 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435](../Searching/Geo_search.md). \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 4 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0448\u0438\u0440\u043e\u0442\u044b \u0438 \u0434\u043e\u043b\u0433\u043e\u0442\u044b \u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c\u0438 \u0442\u043e\u0447\u043a\u0438 \u044f\u043a\u043e\u0440\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e:\nCODE_BLOCK_34\n\n\u041e\u0434\u043d\u043e **\u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e\u0435** \u0437\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0435: **\u0433\u043e\u0440\u0430\u0437\u0434\u043e** \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u044c Manticore \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0443, \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044e \u0438 \u043d\u0430\u0440\u0435\u0437\u043a\u0443 \u043d\u0430\u0431\u043e\u0440\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432, \u0447\u0435\u043c \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0439 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f `WHERE`, `ORDER BY` \u0438 `LIMIT` \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 MySQL. \u042d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0434\u0432\u0443\u043c\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c\u0438. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, Manticore \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u044d\u0442\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u043b\u0443\u0447\u0448\u0435, \u0447\u0435\u043c MySQL. \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043c\u0435\u043d\u044c\u0448\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c searchd, \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c SphinxSE.\n\n### \u0412\u0430\u0436\u043d\u043e\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0435 \u043e \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u0445 \u043f\u043e\u043b\u044f\u0445 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 SphinxSE\n\n\u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 5.0.0, Manticore \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0445\u0440\u0430\u043d\u0438\u0442 \u0432\u0441\u0435 \u043f\u043e\u043b\u044f. \u041a\u043e\u0433\u0434\u0430 Manticore \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 MySQL \u0438\u043b\u0438 MariaDB \u0447\u0435\u0440\u0435\u0437 SphinxSE, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u043f\u043e\u043b\u0435\u0439 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044b \u0443\u0436\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 MySQL/MariaDB. \u0412 \u0442\u0430\u043a\u0438\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0445 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u044f\u0432\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u0435 \u043f\u043e\u043b\u044f \u0434\u043b\u044f \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Manticore, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0432:\n\nCODE_BLOCK_35\n\n\u0421\u043c. \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435: [stored_fields](../Creating_a_table/Local_tables/Plain_and_real-time_table_settings.md#stored_fields).\n\n\u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e (\u0432\u0441\u0435 \u043f\u043e\u043b\u044f \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f) \u0438 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0431\u0435\u0440\u0435\u0442\u0435 \u043c\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u0440\u0430\u0437\u0443 \u0447\u0435\u0440\u0435\u0437 SphinxSE, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0432\u044b\u0448\u0435\u043d \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043b\u0438\u043c\u0438\u0442 \u0432 \u0434\u0432\u0438\u0436\u043a\u0435, \u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0443 \u0442\u0438\u043f\u0430:\n\n\"bad searchd response length\"\n\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 `stored_fields =` \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u0445 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 MySQL/MariaDB \u0438 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u044d\u0442\u0443 \u043e\u0448\u0438\u0431\u043a\u0443 \u0432 \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0445 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f\u0445 SphinxSE.\n\n### SHOW ENGINE SPHINX STATUS\n\n<!-- example Example_3 -->\n\n\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0443\u044e \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 `SHOW ENGINE SPHINX STATUS`:\n\n<!-- request -->\n\nCODE_BLOCK_36\n\n<!-- response -->\nCODE_BLOCK_37\n\n<!-- end -->\n\n<!-- example Example_4 -->\n\n\u0412\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u0442\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f. \u0418\u043c\u0435\u0439\u0442\u0435 \u0432 \u0432\u0438\u0434\u0443, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043f\u0440\u0430\u0432 \u0441\u0443\u043f\u0435\u0440\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.\n\n<!-- request -->\n\nCODE_BLOCK_38\n\n<!-- response -->\nCODE_BLOCK_39\n\n<!-- end -->\n\n<!-- example SQL Example_5 -->\n\n\u0422\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e\u0438\u0441\u043a\u0430 SphinxSE \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u044b \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u043c\u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0432\u0438\u0436\u043a\u0438. \u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \"documents\" \u0438\u0437 example.sql:\n\n<!-- request -->\n\nCODE_BLOCK_40\n\n<!-- response -->\n\nCODE_BLOCK_41\n\n<!-- end -->\n\n## \u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 MySQL\n\nSphinxSE \u0442\u0430\u043a\u0436\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 UDF-\u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e MySQL. \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0430 [HIGHLIGHT()](../Searching/Highlighting.md#Highlighting), \u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 MySQL+SphinxSE."
- },
- "is_code_or_comment": false,
- "model": "deepseek/deepseek-v3.2",
- "updated_at": 1766374240
- },
- "__meta": {
- "source_text": "# SphinxSE\n\nSphinxSE is a MySQL storage engine that can be compiled into MySQL/MariaDB servers using their pluggable architecture.\n\nDespite its name, SphinxSE does *not* actually store any data itself. Instead, it serves as a built-in client that enables the MySQL server to communicate with `searchd`, execute search queries, and retrieve search results. All indexing and searching take place outside MySQL.\n\nSome common SphinxSE applications include:\n* Simplifying the porting of MySQL Full-Text Search (FTS) applications to Manticore;\n* Enabling Manticore use with programming languages for which native APIs are not yet available;\n* Offering optimizations when additional Manticore result set processing is needed on the MySQL side (e.g., JOINs with original document tables or additional MySQL-side filtering).\n\n## Installing SphinxSE\n\nYou will need to obtain a copy of MySQL sources, prepare those, and then recompile MySQL binary. MySQL sources (mysql-5.x.yy.tar.gz) could be obtained from <http://dev.mysql.com> website.\n\n### Compiling MySQL 5.0.x with SphinxSE\n\n1. copy `sphinx.5.0.yy.diff` patch file into MySQL sources directory and run\n```bash\n$ patch -p1 < sphinx.5.0.yy.diff\n```\nIf there's no .diff file exactly for the specific version you need to: build, try applying .diff with closest version numbers. It is important that the patch should apply with no rejects.\n2. in MySQL sources directory, run\n```bash\n$ sh BUILD/autorun.sh\n```\n3. in MySQL sources directory, create `sql/sphinx` directory in and copy all files in `mysqlse` directory from Manticore sources there. Example:\n```bash\n$ cp -R /root/builds/sphinx-0.9.7/mysqlse /root/builds/mysql-5.0.24/sql/sphinx\n```\n4. configure MySQL and enable the new engine:\n```bash\n$ ./configure --with-sphinx-storage-engine\n```\n5. build and install MySQL:\n```bash\n$ make\n$ make install\n```\n\n### Compiling MySQL 5.1.x with SphinxSE\n\n1. In the MySQL sources directory, create a `storage/sphinx` directory and copy all files from the `mysqlse` directory in the Manticore sources to this new location. For example:\n```bash\n$ cp -R /root/builds/sphinx-0.9.7/mysqlse /root/builds/mysql-5.1.14/storage/sphinx\n```\n2. In the MySQL source directory, run:\n```bash\n$ sh BUILD/autorun.sh\n```\n3. Configure MySQL and enable the Manticore engine:\n```bash\n$ ./configure --with-plugins=sphinx\n```\n4. Build and install MySQL:\n```bash\n$ make\n$ make install\n```\n\n### Checking SphinxSE installation\n\n\n<!-- example Example_1 -->\n\nTo verify that SphinxSE has been successfully compiled into MySQL, start the newly built server, run the MySQL client, and issue the `SHOW ENGINES` query. You should see a list of all available engines. Manticore should be present, and the \"Support\" column should display \"YES\":\n\n<!-- request -->\n\n``` sql\nmysql> show engines;\n```\n\n<!-- response -->\n```sql\n+------------+----------+-------------------------------------------------------------+\n| Engine | Support | Comment |\n+------------+----------+-------------------------------------------------------------+\n| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance |\n ...\n| SPHINX | YES | Manticore storage engine |\n ...\n+------------+----------+-------------------------------------------------------------+\n13 rows in set (0.00 sec)\n```\n\n<!-- end -->\n\n## Using SphinxSE\n\nTo search using SphinxSE, you'll need to create a special ENGINE=SPHINX \"search table\" and then use a `SELECT` statement with the full-text query placed in the `WHERE` clause for the query column.\n\nHere's an example create statement and search query:\n\n```sql\nCREATE TABLE t1\n(\n id INTEGER UNSIGNED NOT NULL,\n weight INTEGER NOT NULL,\n query VARCHAR(3072) NOT NULL,\n group_id INTEGER,\n INDEX(query)\n) ENGINE=SPHINX CONNECTION=\"sphinx://localhost:9312/test\";\n\nSELECT * FROM t1 WHERE query='test it;mode=any';\n```\n\nIn a search table, the first three columns *must* have the following types: `INTEGER UNSIGNED` or `BIGINT` for the 1st column (document ID), `INTEGER` or `BIGINT` for the 2nd column (match weight), and `VARCHAR` or `TEXT` for the 3rd column (your query). This mapping is fixed; you cannot omit any of these three required columns, move them around, or change their types. Additionally, the query column must be indexed, while all others should remain unindexed. Column names are ignored, so you can use any arbitrary names.\n\nAdditional columns must be either `INTEGER`, `TIMESTAMP`, `BIGINT`, `VARCHAR`, or `FLOAT`. They will be bound to attributes provided in the Manticore result set by name, so their names must match the attribute names specified in `sphinx.conf`. If there's no matching attribute name in the Manticore search results, the column will have `NULL` values.\n\nSpecial \"virtual\" attribute names can also be bound to SphinxSE columns. Use `_sph_` instead of `@` for that purpose. For example, to obtain the values of `@groupby`, `@count`, or `@distinct` virtual attributes, use `_sph_groupby`, `_sph_count`, or `_sph_distinct` column names, respectively.\n\nThe `CONNECTION` string parameter is used to specify the Manticore host, port, and table. If no connection string is specified in `CREATE TABLE`, the table name `*` (i.e., search all tables) and `localhost:9312` are assumed. The connection string syntax is as follows:\n\n```\nCONNECTION=\"sphinx://HOST:PORT/TABLENAME\"\n```\n\nYou can change the default connection string later:\n\n```sql\nmysql> ALTER TABLE t1 CONNECTION=\"sphinx://NEWHOST:NEWPORT/NEWTABLENAME\";\n```\n\nYou can also override these parameters on a per-query basis.\n\nAs shown in the example, both the query text and search options should be placed in the `WHERE` clause on the search query column (i.e., the 3rd column). Options are separated by semicolons and their names from values by an equality sign. Any number of options can be specified. The available options are:\n\n* query - query text;\n* mode - matching mode. Must be one of \"all\", \"any\", \"phrase\", \"boolean\", or \"extended\". Default is \"all\";\n* sort - match sorting mode. Must be one of \"relevance\", \"attr_desc\", \"attr_asc\", \"time_segments\", or \"extended\". In all modes besides \"relevance\", the attribute name (or sorting clause for \"extended\") is also required after a colon:\n```\n... WHERE query='test;sort=attr_asc:group_id';\n... WHERE query='test;sort=extended:@weight desc, group_id asc';\n```\n* offset - offset into the result set; default is 0;\n* limit - number of matches to retrieve from the result set; default is 20;\n* index - names of the tables to search:\n```sql\n... WHERE query='test;index=test1;';\n... WHERE query='test;index=test1,test2,test3;';\n```\n* minid, maxid - min and max document ID to match;\n* weights - comma-separated list of weights to be assigned to Manticore full-text fields:\n```sql\n... WHERE query='test;weights=1,2,3;';\n```\n* filter, !filter - comma-separated attribute name and a set of values to match:\n```sql\n# only include groups 1, 5 and 19\n... WHERE query='test;filter=group_id,1,5,19;';\n# exclude groups 3 and 11\n... WHERE query='test;!filter=group_id,3,11;';\n```\n* range, !range - comma-separated (integer or bigint) Manticore attribute name, and min and max values to match:\n```sql\n# include groups from 3 to 7, inclusive\n... WHERE query='test;range=group_id,3,7;';\n# exclude groups from 5 to 25\n... WHERE query='test;!range=group_id,5,25;';\n```\n* floatrange, !floatrange - comma-separated (floating point) Manticore attribute name, and min and max values to match:\n```sql\n# filter by a float size\n... WHERE query='test;floatrange=size,2,3;';\n# pick all results within 1000 meter from geoanchor\n... WHERE query='test;floatrange=@geodist,0,1000;';\n```\n* maxmatches - maxmatches - per-query max matches value, as in [max_matches search option](../Searching/Options.md#max_matches):\n```sql\n... WHERE query='test;maxmatches=2000;';\n```\n* cutoff - maximum allowed matches, as in [cutoff search option](../Searching/Options.md#cutoff):\n```sql\n... WHERE query='test;cutoff=10000;';\n```\n* maxquerytime - maximum allowed query time (in milliseconds), as in [max_query_time search option](../Searching/Options.md#max_query_time):\n```sql\n... WHERE query='test;maxquerytime=1000;';\n```\n* groupby - group-by function and attribute. Read [this](../Searching/Grouping.md#Just-Grouping) about grouping search results:\n```sql\n... WHERE query='test;groupby=day:published_ts;';\n... WHERE query='test;groupby=attr:group_id;';\n```\n* groupsort - group-by sorting clause:\n```sql\n... WHERE query='test;groupsort=@count desc;';\n```\n* distinct - an attribute to compute [COUNT(DISTINCT)](../Searching/Grouping.md#COUNT%28DISTINCT-field%29) for when doing group-by:\n```sql\n... WHERE query='test;groupby=attr:country_id;distinct=site_id';\n```\n* indexweights - comma-separated list of table names and weights to use when searching through several tables:\n```sql\n... WHERE query='test;indexweights=tbl_exact,2,tbl_stemmed,1;';\n```\n* fieldweights - comma-separated list of per-field weights that can be used by the ranker:\n```sql\n... WHERE query='test;fieldweights=title,10,abstract,3,content,1;';\n```\n* comment - a string to mark this query in query log, as in [comment search option](../Searching/Options.md#comment):\n```sql\n... WHERE query='test;comment=marker001;';\n```\n* select - a string with expressions to compute:\n```sql\n... WHERE query='test;select=2*a+3*** as myexpr;';\n```\n* host, port - remote `searchd` host name and TCP port, respectively:\n```sql\n... WHERE query='test;host=sphinx-test.loc;port=7312;';\n```\n* ranker - a ranking function to use with \"extended\" matching mode, as in [ranker](../Searching/Options.md#ranker). Known values are \"proximity_bm25\", \"bm25\", \"none\", \"wordcount\", \"proximity\", \"matchany\", \"fieldmask\", \"sph04\", \"expr:EXPRESSION\" syntax to support expression-based ranker (where EXPRESSION should be replaced with your specific ranking formula), and \"export:EXPRESSION\":\n```sql\n... WHERE query='test;mode=extended;ranker=bm25;';\n... WHERE query='test;mode=extended;ranker=expr:sum(lcs);';\n```\nThe \"export\" ranker functions similarly to ranker=expr, but it retains the per-document factor values, while ranker=expr discards them after computing the final `WEIGHT()` value. Keep in mind that ranker=export is intended for occasional use, such as training a machine learning (ML) function or manually defining your own ranking function, and should not be used in actual production. When utilizing this ranker, you'll likely want to examine the output of the `RANKFACTORS()` function, which generates a string containing all the field-level factors for each document.\n\n<!-- example SQL Example_2 -->\n<!-- request -->\n\n``` sql\nSELECT *, WEIGHT(), RANKFACTORS()\n FROM myindex\n WHERE MATCH('dog')\n OPTION ranker=export('100*bm25');\n```\n\n<!-- response -->\n\n``` sql\n*************************** 1\\. row ***************************\n id: 555617\n published: 1110067331\n channel_id: 1059819\n title: 7\n content: 428\n weight(): 69900\nrankfactors(): bm25=699, bm25a=0.666478, field_mask=2,\ndoc_word_count=1, field1=(lcs=1, hit_count=4, word_count=1,\ntf_idf=1.038127, min_idf=0.259532, max_idf=0.259532, sum_idf=0.259532,\nmin_hit_pos=120, min_best_span_pos=120, exact_hit=0,\nmax_window_hits=1), word1=(tf=4, idf=0.259532)\n*************************** 2\\. row ***************************\n id: 555313\n published: 1108438365\n channel_id: 1058561\n title: 8\n content: 249\n weight(): 68500\nrankfactors(): bm25=685, bm25a=0.675213, field_mask=3,\ndoc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1,\ntf_idf=0.259532, min_idf=0.259532, max_idf=0.259532, sum_idf=0.259532,\nmin_hit_pos=8, min_best_span_pos=8, exact_hit=0, max_window_hits=1),\nfield1=(lcs=1, hit_count=2, word_count=1, tf_idf=0.519063,\nmin_idf=0.259532, max_idf=0.259532, sum_idf=0.259532, min_hit_pos=36,\nmin_best_span_pos=36, exact_hit=0, max_window_hits=1), word1=(tf=3,\nidf=0.259532)\n```\n\n<!-- end -->\n\n* geoanchor - geodistance anchor. Learn more about Geo-search [in this section](../Searching/Geo_search.md). Takes 4 parameters, which are the latitude and longitude attribute names, and anchor point coordinates, respectively:\n```sql\n... WHERE query='test;geoanchor=latattr,lonattr,0.123,0.456';\n```\n\nOne **very important** note is that it is **much** more efficient to let Manticore handle sorting, filtering, and slicing the result set, rather than increasing the max matches count and using `WHERE`, `ORDER BY`, and `LIMIT` clauses on the MySQL side. This is due to two reasons. First, Manticore employs a variety of optimizations and performs these tasks better than MySQL. Second, less data would need to be packed by searchd, transferred, and unpacked by SphinxSE.\n\n\n### Important note about stored fields when using SphinxSE\n\nSince version 5.0.0, Manticore stores all fields by default. When Manticore is used together with MySQL or MariaDB via SphinxSE, storing all fields usually does not make sense because the originals are already stored in MySQL/MariaDB. In such setups it is recommended to explicitly disable stored fields for the involved Manticore table by setting:\n\n```\nstored_fields =\n```\n\nSee the setting reference: [stored_fields](../Creating_a_table/Local_tables/Plain_and_real-time_table_settings.md#stored_fields).\n\nIf you keep the default (all fields stored) and then select a lot of documents at once through SphinxSE, an internal limit in the engine may be exceeded and you may receive an error like:\n\n\"bad searchd response length\"\n\nSetting `stored_fields =` avoids sending large stored payloads back to MySQL/MariaDB and prevents this error in typical SphinxSE integrations.\n\n\n### SHOW ENGINE SPHINX STATUS\n\n<!-- example Example_3 -->\n\nYou can obtain additional information related to the query results using the `SHOW ENGINE SPHINX STATUS` statement:\n\n<!-- request -->\n\n\n``` sql\nmysql> SHOW ENGINE SPHINX STATUS;\n```\n\n<!-- response -->\n``` sql\n+--------+-------+-------------------------------------------------+\n| Type | Name | Status |\n+--------+-------+-------------------------------------------------+\n| SPHINX | stats | total: 25, total found: 25, time: 126, words: 2 |\n| SPHINX | words | sphinx:591:1256 soft:11076:15945 |\n+--------+-------+-------------------------------------------------+\n2 rows in set (0.00 sec)\n```\n\n<!-- end -->\n\n\n<!-- example Example_4 -->\n\nYou can also access this information through status variables. Keep in mind that using this method does not require super-user privileges.\n\n<!-- request -->\n\n``` sql\nmysql> SHOW STATUS LIKE 'sphinx_%';\n```\n\n<!-- response -->\n``` sql\n+--------------------+----------------------------------+\n| Variable_name | Value |\n+--------------------+----------------------------------+\n| sphinx_total | 25 |\n| sphinx_total_found | 25 |\n| sphinx_time | 126 |\n| sphinx_word_count | 2 |\n| sphinx_words | sphinx:591:1256 soft:11076:15945 |\n+--------------------+----------------------------------+\n5 rows in set (0.00 sec)\n```\n\n<!-- end -->\n\n\n<!-- example SQL Example_5 -->\n\nSphinxSE search tables can be joined with tables using other engines. Here's an example using the \"documents\" table from example.sql:\n\n<!-- request -->\n\n``` sql\nmysql> SELECT content, date_added FROM test.documents docs\n-> JOIN t1 ON (docs.id=t1.id)\n-> WHERE query=\"one document;mode=any\";\n\nmysql> SHOW ENGINE SPHINX STATUS;\n```\n\n<!-- response -->\n\n``` sql\n+-------------------------------------+---------------------+\n| content | docdate |\n+-------------------------------------+---------------------+\n| this is my test document number two | 2006-06-17 14:04:28 |\n| this is my test document number one | 2006-06-17 14:04:28 |\n+-------------------------------------+---------------------+\n2 rows in set (0.00 sec)\n\n+--------+-------+---------------------------------------------+\n| Type | Name | Status |\n+--------+-------+---------------------------------------------+\n| SPHINX | stats | total: 2, total found: 2, time: 0, words: 2 |\n| SPHINX | words | one:1:2 document:2:2 |\n+--------+-------+---------------------------------------------+\n2 rows in set (0.00 sec)\n```\n\n<!-- end -->\n\n## Building snippets via MySQL\n\n\nSphinxSE also features a UDF function that allows you to create snippets using MySQL. This functionality is similar to [HIGHLIGHT()](../Searching/Highlighting.md#Highlighting), but can be accessed through MySQL+SphinxSE.\n\nThe binary providing the UDF is called `sphinx.so` and should be automatically built and installed in the appropriate location along with SphinxSE. If it doesn't install automatically for some reason, locate `sphinx.so` in the build directory and copy it to your MySQL instance's plugins directory. Once done, register the UDF with the following statement:\n\n```sql\nCREATE FUNCTION sphinx_snippets RETURNS STRING SONAME 'sphinx.so';\n```\n\nThe function name *must* be sphinx_snippets; you cannot use an arbitrary name. The function arguments are as follows:\n\n**Prototype:** function sphinx_snippets ( document, table, words [, options] );\n\nThe document and words arguments can be either strings or table columns. Options must be specified like this: `'value' AS option_name`. For a list of supported options, refer to the [Highlighting section](../Searching/Highlighting.md). The only UDF-specific additional option is called `sphinx` and allows you to specify the searchd location (host and port).\n\nUsage examples:\n\n```sql\nSELECT sphinx_snippets('hello world doc', 'main', 'world',\n 'sphinx://192.168.1.1/' AS sphinx, true AS exact_phrase,\n '[**]' AS before_match, '[/**]' AS after_match)\nFROM documents;\n\nSELECT title, sphinx_snippets(text, 'table', 'mysql php') AS text\n FROM sphinx, documents\n WHERE query='mysql php' AND sphinx.id=documents.id;\n```\n<!-- proofread -->\n\n",
- "updated_at": 1768530797,
- "source_md5": "663e1915833e55f12df297636803569c"
- }
- }
|