Sphinx 2.0.4-Release Reference Manual

Total Page:16

File Type:pdf, Size:1020Kb

Sphinx 2.0.4-Release Reference Manual 28/03/12 Sphinx | Open Source Search Server Sphinx 2.0.4-release reference manual Free open-source SQL full-text search engine Copyright © 2001-2012 Andrew Aksyonoff Copyright © 2008-2012 Sphinx Technologies Inc, http://sphinxsearch.com Table of Contents 1. Introduction 1.1. About 1.2. Sphinx features 1.3. Where to get Sphinx 1.4. License 1.5. Credits 1.6. History 2. Installation 2.1. Supported systems 2.2. Required tools 2.3. Installing Sphinx on Linux 2.4. Installing Sphinx on Windows 2.5. Known installation issues 2.6. Quick Sphinx usage tour 3. Indexing 3.1. Data sources 3.2. Full-text fields 3.3. Attributes 3.4. MVA (multi-valued attributes) 3.5. Indexes 3.6. Restrictions on the source data 3.7. Charsets, case folding, and translation tables 3.8. SQL data sources (MySQL, PostgreSQL) 3.9. xmlpipe data source 3.10. xmlpipe2 data source 3.11. Live index updates 3.12. Delta index updates 3.13. Index merging 4. Real-time indexes 4.1. RT indexes overview 4.2. Known caveats with RT indexes 4.3. RT index internals 4.4. Binary logging 5. Searching 5.1. Matching modes 5.2. Boolean query syntax 5.3. Extended query syntax 5.4. Search results ranking 5.5. Expressions, functions, and operators 5.5.1. Operators 5.5.2. Numeric functions 5.5.3. Date and time functions 5.5.4. Type conversion functions 5.5.5. Comparison functions 5.5.6. Miscellaneous functions 5.6. Sorting modes 5.7. Grouping (clustering) search results 5.8. Distributed searching 5.9. searchd query log formats 5.9.1. Plain log format 5.9.2. SphinxQL log format 5.10. MySQL protocol support and SphinxQL 5.11. Multi-queries 5.12. Collations sphinxsearch.com/docs/current.html 1/130 28/03/12 Sphinx | Open Source Search Server 5.13. User-defined functions (UDF) 6. Command line tools reference 6.1. indexer command reference 6.2. searchd command reference 6.3. search command reference 6.4. spelldump command reference 6.5. indextool command reference 7. SphinxQL reference 7.1. SELECT syntax 7.2. SHOW META syntax 7.3. SHOW WARNINGS syntax 7.4. SHOW STATUS syntax 7.5. INSERT and REPLACE syntax 7.6. DELETE syntax 7.7. SET syntax 7.8. SET TRANSACTION syntax 7.9. BEGIN, COMMIT, and ROLLBACK syntax 7.10. CALL SNIPPETS syntax 7.11. CALL KEYWORDS syntax 7.12. SHOW TABLES syntax 7.13. DESCRIBE syntax 7.14. CREATE FUNCTION syntax 7.15. DROP FUNCTION syntax 7.16. SHOW VARIABLES syntax 7.17. SHOW COLLATION syntax 7.18. UPDATE syntax 7.19. ATTACH INDEX syntax 7.20. FLUSH RTINDEX syntax 7.21. Multi-statement queries 7.22. Comment syntax 7.23. List of SphinxQL reserved keywords 7.24. SphinxQL upgrade notes, version 2.0.1-beta 8. API reference 8.1. General API functions 8.1.1. GetLastError 8.1.2. GetLastWarning 8.1.3. SetServer 8.1.4. SetRetries 8.1.5. SetConnectTimeout 8.1.6. SetArrayResult 8.1.7. IsConnectError 8.2. General query settings 8.2.1. SetLimits 8.2.2. SetMaxQueryTime 8.2.3. SetOverride 8.2.4. SetSelect 8.3. Full-text search query settings 8.3.1. SetMatchMode 8.3.2. SetRankingMode 8.3.3. SetSortMode 8.3.4. SetWeights 8.3.5. SetFieldWeights 8.3.6. SetIndexWeights 8.4. Result set filtering settings 8.4.1. SetIDRange 8.4.2. SetFilter 8.4.3. SetFilterRange 8.4.4. SetFilterFloatRange 8.4.5. SetGeoAnchor 8.5. GROUP BY settings 8.5.1. SetGroupBy 8.5.2. SetGroupDistinct 8.6. Querying 8.6.1. Query sphinxsearch.com/docs/current.html 2/130 28/03/12 Sphinx | Open Source Search Server 8.6.2. AddQuery 8.6.3. RunQueries 8.6.4. ResetFilters 8.6.5. ResetGroupBy 8.7. Additional functionality 8.7.1. BuildExcerpts 8.7.2. UpdateAttributes 8.7.3. BuildKeywords 8.7.4. EscapeString 8.7.5. Status 8.7.6. FlushAttributes 8.8. Persistent connections 8.8.1. Open 8.8.2. Close 9. MySQL storage engine (SphinxSE) 9.1. SphinxSE overview 9.2. Installing SphinxSE 9.2.1. Compiling MySQL 5.0.x with SphinxSE 9.2.2. Compiling MySQL 5.1.x with SphinxSE 9.2.3. Checking SphinxSE installation 9.3. Using SphinxSE 9.4. Building snippets (excerpts) via MySQL 10. Reporting bugs 11. sphinx.conf options reference 11.1. Data source configuration options 11.1.1. type 11.1.2. sql_host 11.1.3. sql_port 11.1.4. sql_user 11.1.5. sql_pass 11.1.6. sql_db 11.1.7. sql_sock 11.1.8. mysql_connect_flags 11.1.9. mysql_ssl_cert, mysql_ssl_key, mysql_ssl_ca 11.1.10. odbc_dsn 11.1.11. sql_query_pre 11.1.12. sql_query 11.1.13. sql_joined_field 11.1.14. sql_query_range 11.1.15. sql_range_step 11.1.16. sql_query_killlist 11.1.17. sql_attr_uint 11.1.18. sql_attr_bool 11.1.19. sql_attr_bigint 11.1.20. sql_attr_timestamp 11.1.21. sql_attr_str2ordinal 11.1.22. sql_attr_float 11.1.23. sql_attr_multi 11.1.24. sql_attr_string 11.1.25. sql_attr_str2wordcount 11.1.26. sql_column_buffers 11.1.27. sql_field_string 11.1.28. sql_field_str2wordcount 11.1.29. sql_file_field 11.1.30. sql_query_post 11.1.31. sql_query_post_index 11.1.32. sql_ranged_throttle 11.1.33. sql_query_info 11.1.34. xmlpipe_command 11.1.35. xmlpipe_field 11.1.36. xmlpipe_field_string 11.1.37. xmlpipe_field_wordcount 11.1.38. xmlpipe_attr_uint 11.1.39. xmlpipe_attr_bigint 11.1.40. xmlpipe_attr_bool 11.1.41. xmlpipe_attr_timestamp 11.1.42. xmlpipe_attr_str2ordinal 11.1.43. xmlpipe_attr_float 11.1.44. xmlpipe_attr_multi sphinxsearch.com/docs/current.html 3/130 28/03/12 Sphinx | Open Source Search Server 11.1.45. xmlpipe_attr_multi_64 11.1.46. xmlpipe_attr_string 11.1.47. xmlpipe_fixup_utf8 11.1.48. mssql_winauth 11.1.49. mssql_unicode 11.1.50. unpack_zlib 11.1.51. unpack_mysqlcompress 11.1.52. unpack_mysqlcompress_maxsize 11.2. Index configuration options 11.2.1. type 11.2.2. source 11.2.3. path 11.2.4. docinfo 11.2.5. mlock 11.2.6. morphology 11.2.7. dict 11.2.8. index_sp 11.2.9. index_zones 11.2.10. min_stemming_len 11.2.11. stopwords 11.2.12. wordforms 11.2.13. exceptions 11.2.14. min_word_len 11.2.15. charset_type 11.2.16. charset_table 11.2.17. ignore_chars 11.2.18. min_prefix_len 11.2.19. min_infix_len 11.2.20. prefix_fields 11.2.21. infix_fields 11.2.22. enable_star 11.2.23. ngram_len 11.2.24. ngram_chars 11.2.25. phrase_boundary 11.2.26. phrase_boundary_step 11.2.27. html_strip 11.2.28. html_index_attrs 11.2.29. html_remove_elements 11.2.30. local 11.2.31. agent 11.2.32. agent_blackhole 11.2.33. agent_connect_timeout 11.2.34. agent_query_timeout 11.2.35. preopen 11.2.36. ondisk_dict 11.2.37. inplace_enable 11.2.38. inplace_hit_gap 11.2.39. inplace_docinfo_gap 11.2.40. inplace_reloc_factor 11.2.41. inplace_write_factor 11.2.42. index_exact_words 11.2.43. overshort_step 11.2.44. stopword_step 11.2.45. hitless_words 11.2.46. expand_keywords 11.2.47. blend_chars 11.2.48. blend_mode 11.2.49. rt_mem_limit 11.2.50. rt_field 11.2.51. rt_attr_uint 11.2.52. rt_attr_bigint 11.2.53. rt_attr_float 11.2.54. rt_attr_multi 11.2.55. rt_attr_multi_64 11.2.56. rt_attr_timestamp 11.2.57. rt_attr_string 11.3. indexer program configuration options 11.3.1. mem_limit 11.3.2. max_iops 11.3.3. max_iosize 11.3.4. max_xmlpipe2_field 11.3.5. write_buffer 11.3.6. max_file_field_buffer 11.3.7. on_file_field_error sphinxsearch.com/docs/current.html 4/130 28/03/12 Sphinx | Open Source Search Server 11.4. searchd program configuration options 11.4.1. listen 11.4.2. address 11.4.3. port 11.4.4. log 11.4.5. query_log 11.4.6. query_log_format 11.4.7. read_timeout 11.4.8. client_timeout 11.4.9. max_children 11.4.10. pid_file 11.4.11. max_matches 11.4.12. seamless_rotate 11.4.13. preopen_indexes 11.4.14. unlink_old 11.4.15. attr_flush_period 11.4.16. ondisk_dict_default 11.4.17. max_packet_size 11.4.18. mva_updates_pool 11.4.19. crash_log_path 11.4.20. max_filters 11.4.21. max_filter_values 11.4.22. listen_backlog 11.4.23. read_buffer 11.4.24. read_unhinted 11.4.25. max_batch_queries 11.4.26. subtree_docs_cache 11.4.27. subtree_hits_cache 11.4.28. workers 11.4.29. dist_threads 11.4.30. binlog_path 11.4.31. binlog_flush 11.4.32. binlog_max_log_size 11.4.33. collation_server 11.4.34. collation_libc_locale 11.4.35. plugin_dir 11.4.36. mysql_version_string 11.4.37. rt_flush_period 11.4.38. thread_stack 11.4.39. expansion_limit 11.4.40. compat_sphinxql_magics 11.4.41. watchdog 11.4.42. prefork_rotation_throttle A. Sphinx revision history A.1. Version 2.0.4-release, 02 mar 2012 A.2. Version 2.0.3-release, 23 dec 2011 A.3. Version 2.0.2-beta, 15 nov 2011 A.4. Version 2.0.1-beta, 22 apr 2011 A.5. Version 1.10-beta, 19 jul 2010 A.6. Version 0.9.9-release, 02 dec 2009 A.7. Version 0.9.9-rc2, 08 apr 2009 A.8. Version 0.9.9-rc1, 17 nov 2008 A.9. Version 0.9.8.1, 30 oct 2008 A.10. Version 0.9.8, 14 jul 2008 A.11. Version 0.9.7, 02 apr 2007 A.12. Version 0.9.7-rc2, 15 dec 2006 A.13. Version 0.9.7-rc1, 26 oct 2006 A.14. Version 0.9.6, 24 jul 2006 A.15. Version 0.9.6-rc1, 26 jun 2006 List of Examples 3.1. Ranged query usage example 3.2. XMLpipe document stream 3.3. xmlpipe2 document stream 3.4. Fully automated live updates 4.1.
Recommended publications
  • The Types, Roles, and Practices of Documentation in Data Analytics Open Source Software Libraries
    Computer Supported Cooperative Work (CSCW) https://doi.org/10.1007/s10606-018-9333-1 © The Author(s) 2018 The Types, Roles, and Practices of Documentation in Data Analytics Open Source Software Libraries A Collaborative Ethnography of Documentation Work R. Stuart Geiger1 , Nelle Varoquaux1,2 , Charlotte Mazel-Cabasse1 & Chris Holdgraf1,3 1Berkeley Institute for Data Science, University of California, Berkeley, 190 Doe Library, Berkeley, CA, 94730, USA (E-mail: [email protected]); 2Department of Statistics, Berkeley Institute for Data Science, University of California, Berkeley, Berkeley, CA, USA; 3Berkeley Institute for Data Science, Helen Wills Neuroscience Institute, University of California, Berkeley, Berkeley, CA, USA Abstract. Computational research and data analytics increasingly relies on complex ecosystems of open source software (OSS) “libraries” – curated collections of reusable code that programmers import to perform a specific task. Software documentation for these libraries is crucial in helping programmers/analysts know what libraries are available and how to use them. Yet documentation for open source software libraries is widely considered low-quality. This article is a collaboration between CSCW researchers and contributors to data analytics OSS libraries, based on ethnographic fieldwork and qualitative interviews. We examine several issues around the formats, practices, and challenges around documentation in these largely volunteer-based projects. There are many dif- ferent kinds and formats of documentation that exist around such libraries, which play a variety of educational, promotional, and organizational roles. The work behind documentation is similarly multifaceted, including writing, reviewing, maintaining, and organizing documentation. Different aspects of documentation work require contributors to have different sets of skills and overcome various social and technical barriers.
    [Show full text]
  • Manticore Search Documentation Release 3.0.2
    Manticore Search Documentation Release 3.0.2 The Manticore Search team Apr 01, 2021 Manticore Documentation 1 Introduction 1 2 Gettting Started 5 2.1 Getting started using Docker container.................................5 2.2 Getting Started using official packages................................. 10 2.3 Migrating from Manticore or Sphinx Search 2.x............................ 15 2.4 A guide on configuration file....................................... 17 2.5 A guide on connectivity......................................... 19 2.6 A guide on indexes............................................ 21 2.7 A guide on searching........................................... 24 3 Installation 31 3.1 Installing Manticore packages on Debian and Ubuntu.......................... 31 3.2 Installing Manticore packages on RedHat and CentOS......................... 32 3.3 Installing Manticore on Windows.................................... 33 3.4 Upgrading from Sphinx Search..................................... 34 3.5 Running Manticore Search in a Docker Container............................ 34 3.6 Compiling Manticore from source.................................... 35 3.7 Quick Manticore usage tour....................................... 38 4 Indexing 43 4.1 Indexes.................................................. 43 4.2 Data Types................................................ 47 4.3 Full-text fields.............................................. 49 4.4 Attributes................................................. 49 4.5 MVA (multi-valued attributes).....................................
    [Show full text]
  • Advanced Search Capabilities with Mysql and Sphinx
    Advanced search capabilities with MySQL and Sphinx Vladimir Fedorkov, Blackbird Andrew Aksyonoff, Sphinx Percona Live MySQL UC, 2014 Knock knock who’s there • Vladimir – Used Sphinx in production since 2006 – Performance geek – Blog http://astellar.com, twitter @vfedorkov – Works for Blackbird • Andrew – Created Sphinx, http://sphinxsearch.com – Just some random guy Search is important • This is 2014, Google spoiled everyone! • Search needs to exist • Search needs to be fast • Search needs to be relevant • Today, we aim to show you how to start – With Sphinx, obviously Available solutions • Most databases have integrated FT engines – MySQL (My and Inno), Postgres, MS SQL, Oracle… • Standalone solutions – Sphinx – Lucene / Solr – Lucene / ElasticSearch • Hosted services – IndexDen, SearchBox, Flying Sphinx, WebSolr, … Why Sphinx? • Built-in DB search sucks • Sphinx works great with DBs and MySQL • Sphinx talks SQL => zero learning curive • Fast, scalable, relevant, and other buzzwords :P • You probably heard about Lucene anyway • NEED MOAR DIVERSITY What Sphinx is not • Not a plugin to MySQL • Does not require MySQL • Not SQL-based (but we talk SQL) – Non-SQL APIs are available • Not a complete database replacement – Yet? – Ever! OLAP vs OLTP vs Column vs FTS vs Webscale Quick overview • Sphinx = standalone, open-source search server • Supports Real-time indexes • Fast – 10+ MB/sec/core indexing, 700+ qps/core searching – And counting! • Scalable – Can do a lot even on 1 box – Lets you aggregate search results from N boxes – Auto-sharding,
    [Show full text]
  • Sphinxql Query Builder Release 1.0.0
    SphinxQL Query Builder Release 1.0.0 Oct 12, 2018 Contents 1 Introduction 1 1.1 Compatiblity...............................................1 2 CHANGELOG 3 2.1 What’s New in 1.0.0...........................................3 3 Configuration 5 3.1 Obtaining a Connection.........................................5 3.2 Connection Parameters..........................................5 4 SphinxQL Query Builder 7 4.1 Creating a Query Builder Instance....................................7 4.2 Building a Query.............................................7 4.3 COMPILE................................................ 10 4.4 EXECUTE................................................ 10 5 Multi-Query Builder 13 6 Facets 15 7 Contribute 17 7.1 Pull Requests............................................... 17 7.2 Coding Style............................................... 17 7.3 Testing.................................................. 17 7.4 Issue Tracker............................................... 17 i ii CHAPTER 1 Introduction The SphinxQL Query Builder provides a simple abstraction and access layer which allows developers to generate SphinxQL statements which can be used to query an instance of the Sphinx search engine for results. 1.1 Compatiblity SphinxQL Query Builder is tested against the following environments: • PHP 5.6 and later • Sphinx (Stable) • Sphinx (Development) Note: It is recommended that you always use the latest stable version of Sphinx with the query builder. 1 SphinxQL Query Builder, Release 1.0.0 2 Chapter 1. Introduction CHAPTER 2 CHANGELOG 2.1 What’s New in 1.0.0 3 SphinxQL Query Builder, Release 1.0.0 4 Chapter 2. CHANGELOG CHAPTER 3 Configuration 3.1 Obtaining a Connection You can obtain a SphinxQL Connection with the Foolz\SphinxQL\Drivers\Mysqli\Connection class. <?php use Foolz\SphinxQL\Drivers\Mysqli\Connection; $conn= new Connection(); $conn->setparams(array('host' => '127.0.0.1', 'port' => 9306)); Warning: The existing PDO driver written is considered experimental as the behaviour changes between certain PHP releases.
    [Show full text]
  • { Type = Xmlpipe Xmlpipe Command = Perl /Path/To/Bin/Sphinxpipe2.Pl } Index Xmlpipe Source
    Setting up Sphinx ­ By Brett Estrade <[email protected]> http://www.justanswer.com/computer/expert­bestrade/ sphinx.conf: source example_xmlpipe_source { type = xmlpipe xmlpipe_command = perl /path/to/bin/sphinxpipe2.pl } index xmlpipe_source { src = example_xmlpipe_source path = /path/to/index_file_prefix docinfo = extern } command (assuming sphinxpipe2.pl outputs valid xmlpipe2 XML): indexer ­­config /path/to/sphinx.conf ­­all # creates indexes The above should just create the indexes. To set up the search server (searchd), the following needs to be added to the sphinx.conf: searchd { compat_sphinxql_magics = 0 listen = 192.168.0.2:9312 listen = 192.168.0.2:9306:mysql41 log = /path/to/searchd.log query_log = /path/to/query.log read_timeout = 30 max_children = 30 pid_file = /path/to/searchd.pid max_matches = 1000000 seamless_rotate = 1 preopen_indexes = 1 unlink_old = 1 workers = threads # for RT to work binlog_path = /path/to/sphinx_binlog } Assuming that searchd is running, the index command would require a “­­rotate” flag to read in the updated indexes whenever updated. indexer ­­rotate ­­config /path/to/sphinx.conf ­­all Searching Note that there is a MySQL compatible listening interface that is defined above using the “listen = 192.168.0.2:9306:mysql41” line. This means you can point a mysql client to “192.168.0.2:9306” and issue SELECT statements as described here: http://sphinxsearch.com/docs/archives/1.10/sphinxql.html Using the PHP Sphinx Client is covered starting at listing 12 of this article ­ http://www.ibm.com/developerworks/library/os­php­sphinxsearch/#list12 Note the difference between fields and attributes. Fields provide the text that is subject to the full text searching and indexing.
    [Show full text]
  • Sphinx As a Tool for Documenting Technical Projects 1
    SPHINX AS A TOOL FOR DOCUMENTING TECHNICAL PROJECTS 1 Sphinx as a Tool for Documenting Technical Projects Javier García-Tobar Abstract—Documentation is a vital part of a technical project, yet is sometimes overlooked because of its time-consuming nature. A successful documentation system can therefore benefit relevant organizations and individuals. The focus of this paper is to summarize the main features of Sphinx: an open-source tool created to generate Python documentation formatted into standard files (HTML, PDF and ePub). Based on its results, this research recommends the use of Sphinx for the more efficient writing and managing of a project’s technical documentation. Keywords—project, documentation, Python, Sphinx. —————————— —————————— 1 INTRODUCTION In a technologically advanced and fast-paced modern socie- tation is encouraged in the field of programming because it ty, computer-stored data is found in immense quantities. gives the programmer a copy of their previous work. Fur- Writers, researchers, journalists and teachers – to name but a thermore, it helps other programmers to modify their coding, few relevant fields – have acknowledged the issue of and it benefits the pooling of information within an organi- dealing with ever-increasing quantities of data. The data can zation. appear in many forms. Therefore, most computer-literate, Software documentation should be focused on transmit- modern professionals welcome software (or hardware) that ting information that is useful and meaningful rather than aids them in managing and collating substantial amounts of information that is precise and exact (Forward and Leth- data formats. bridge, 2002). Software tools are used to document a pro- All technical projects produce a large quantity of docu- gram’s source code.
    [Show full text]
  • Working-With-Mediawiki-Yaron-Koren.Pdf
    Working with MediaWiki Yaron Koren 2 Working with MediaWiki by Yaron Koren Published by WikiWorks Press. Copyright ©2012 by Yaron Koren, except where otherwise noted. Chapter 17, “Semantic Forms”, includes significant content from the Semantic Forms homepage (https://www. mediawiki.org/wiki/Extension:Semantic_Forms), available under the Creative Commons BY-SA 3.0 license. All rights reserved. Library of Congress Control Number: 2012952489 ISBN: 978-0615720302 First edition, second printing: 2014 Ordering information for this book can be found at: http://workingwithmediawiki.com All printing of this book is handled by CreateSpace (https://createspace.com), a subsidiary of Amazon.com. Cover design by Grace Cheong (http://gracecheong.com). Contents 1 About MediaWiki 1 History of MediaWiki . 1 Community and support . 3 Available hosts . 4 2 Setting up MediaWiki 7 The MediaWiki environment . 7 Download . 7 Installing . 8 Setting the logo . 8 Changing the URL structure . 9 Updating MediaWiki . 9 3 Editing in MediaWiki 11 Tabs........................................................... 11 Creating and editing pages . 12 Page history . 14 Page diffs . 15 Undoing . 16 Blocking and rollbacks . 17 Deleting revisions . 17 Moving pages . 18 Deleting pages . 19 Edit conflicts . 20 4 MediaWiki syntax 21 Wikitext . 21 Interwiki links . 26 Including HTML . 26 Templates . 27 3 4 Contents Parser and tag functions . 30 Variables . 33 Behavior switches . 33 5 Content organization 35 Categories . 35 Namespaces . 38 Redirects . 41 Subpages and super-pages . 42 Special pages . 43 6 Communication 45 Talk pages . 45 LiquidThreads . 47 Echo & Flow . 48 Handling reader comments . 48 Chat........................................................... 49 Emailing users . 49 7 Images and files 51 Uploading . 51 Displaying images . 55 Image galleries .
    [Show full text]
  • Python Documentation Generator
    SPHINX Python documentation generator Anna Ferrari - 29.06.2021 • Documentation of your python (an other languages like java, C++, R, PHP, javascript,….) code • Outputs in HTML, Latex, ePub, https://www.sphinx-doc.org/en/master/ others • Deploy on webpage (for example in ReadTheDocs) Python documentation https://docs.python.org/3/ • Python • Linux kernel • Conda • Flask • Matplotlib • Jupiter Notebook • Lasagne • Indico • Zenodo …. Result at https://simpleble.readthedocs.io/en/latest/ Let’s get started ! https://sphinx-rtd-tutorial.readthedocs.io/en/latest/docstrings.html Create a new folder called simpleble-master simpleble-master └── simpleble └── test.py test.py def sum_two_numbers(a, b): return a + b Add to test.py documentation: https://realpython.com/documenting-python-code/ def sum_two_numbers(a, b): ‘’’ This function add two numbers Args: a (float) : first number to add b (float) : second number to add Returns: float The sum of a and b ‘’‘ return a + b Install sphinx ReadTheDocs Theme Create documentation root directory Call sphinx quickstart to initialise the project Let’s modify the configuration file: Uncomment Add the theme for read the documents html_theme = "sphinx_rtd_theme" Add the visualisation of the source code extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode'] html_show_sourcelink = True Build the html file Now we have an html file, and if we double click we see it in the browser. It’s empty since we didn’t populated it yet. Auto-generate .rst file from python youruser@yourpc:~yourWorkspacePath/simpleble-master/docs$
    [Show full text]
  • Sphinx and Perl Houston Perl Mongers
    Indexing Stuff && Things with Sphinx and Perl Houston Perl Mongers May 8th, 2014 Hosted by cPanel, Inc. Brett Estrade <[email protected]> Sphinx ● full text search indexer and daemon ● indexer - builds indexes ● searchd - services search requests ● very easy to install and configure Sphinx Data Sources ● Directly from MySQL (MariaDB), PostgreSQL ○ Indexing data from arbitrary SQL ○ Excellent for fast reading of expensive JOINs ● XMLPipe2 ○ General intermediate data understood by Sphinx Search Interface ● Native protocol (e.g., Sphinx::Search) ● Supports MySQL protocol (4.1) ○ Subset of SQL supported is called SphinxQL indexer data named index for searchd searchd config Client Example - Sphinx::Search search term - empty string returns “all” Search Results Some Common Use Cases ● Rebuild index from database regularly ● Incrementally add to existing index ● Query Sphinx for DB primary keys, make DB call for related rows ● Query Sphinx for wanted data (no DB at all) == my use case Real Life Examples 1. Indexing MariaDB 2. Filtering on string using CRC32 3. Creating sources w/Sphinx::XML::Pipe2 4. Dynamic config w/Sphinx::Config::Builder Indexing MariaBD ~2.25 Million Rows ● Use case - saving eBay auction data in DB ● Providing search interface to it ● Demo run of indexer How to Filter on Strings ● Requires CRC32 hashing (strings to ints) ● When indexing, use MySQL’s CRC32 function ● Use Perl’s String::CRC32 to encode string, ○ then set filter And inside of client, use Perl’s String::CRC32 to encode to the same integer Transforming Things to XMLPipe2 ● XMLPipe2 is Sphinx’s generic data format ● Extract/Transform scripts -> XMLPipe2 ● use Sphinx::XML::Pipe2; #’nuff said Sample XMLPipe2 File Sample XMLPipe2 Source Conf Entry Example XMLPipe2 Use Case ● Monitor ephemera,e.g.
    [Show full text]
  • Brandon's Sphinx Tutorial (PDF)
    Brandon’s Sphinx Tutorial Release 2013.0 Brandon Rhodes May 31, 2018 Contents 1 Notes on Using Sphinx2 1.1 Starting a Sphinx project...............................2 1.2 Sphinx layout.....................................3 1.3 Hints.........................................3 1.4 Helping autodoc find your package.........................4 1.5 Deployment.....................................6 2 RST Quick Reference8 3 Sphinx Quick Reference 10 4 Writing ‘api.rst’ 12 5 Writing ‘tutorial.rst’ 15 6 Writing ‘guide.rst’ 17 7 Example: tutorial.rst — The trianglelib tutorial 19 8 Example: guide.rst — The trianglelib guide 20 8.1 Special triangles................................... 20 8.2 Triangle dimensions................................. 20 8.3 Valid triangles.................................... 21 9 Example: api.rst — The trianglelib API reference 22 9.1 The “shape” module................................. 22 9.2 The “utils” module.................................. 23 Python Module Index 25 i Brandon’s Sphinx Tutorial, Release 2013.0 PyCon 2013 San Jose, California Thursday morning March 14th 9:00pm - 10:30pm First Half of Tutorial Break (refreshments served) 10:50pm - 12:20pm Conclusion of Tutorial Welcome to my Sphinx tutorial, which is now in its fourth year at PyCon. Sphinx has come a long way since this tutorial was first offered back on a cold February day in 2010, when the most recent version available was 0.6.4. Sphinx has now reached 1.1.3, and I have worked to keep this tutorial up to date with all of the most recent features in Sphinx. I hope you enjoy it with me! Contents 1 Chapter 1 Notes on Using Sphinx Here are some quick notes on running Sphinx successfully. Each topic will be elaborated upon at the right point during our class.
    [Show full text]
  • Sphinx Documentation 1.5.3
    Sphinx Documentation 1.5.3 Georg Brandl 7 14, 2017 Contents 1 1 1.1......................................................1 1.2......................................................2 1.3......................................................2 1.4......................................................2 2 3 2.1......................................................3 2.2......................................................3 2.3......................................................4 2.4......................................................4 2.5......................................................5 2.6......................................................6 2.7 Autodoc.................................................6 2.8......................................................6 3 sphinx-build 9 3.1 Makefile................................................. 11 4 sphinx-apidoc 13 5 reStructuredText 15 5.1...................................................... 15 5.2...................................................... 15 5.3...................................................... 16 5.4...................................................... 17 5.5...................................................... 18 5.6...................................................... 18 5.7...................................................... 19 5.8...................................................... 19 5.9...................................................... 19 5.10...................................................... 21 5.11.....................................................
    [Show full text]
  • RTEMS Software Engineering Release 6.Fa31da1 (13Th November 2020) © 1988, 2020 RTEMS Project and Contributors
    RTEMS Software Engineering Release 6.fa31da1 (13th November 2020) © 1988, 2020 RTEMS Project and contributors CONTENTS 1 Preface 3 2 RTEMS Project Mission Statement5 2.1 Free Software Project.................................6 2.2 Design and Development Goals............................7 2.3 Open Development Environment...........................8 3 RTEMS Stakeholders9 4 Introduction to Pre-Qualification 11 4.1 Stakeholder Involvement............................... 13 5 Software Requirements Engineering 15 5.1 Requirements for Requirements............................ 17 5.1.1 Identification................................. 17 5.1.2 Level of Requirements............................ 18 5.1.2.1 Absolute Requirements....................... 18 5.1.2.2 Absolute Prohibitions........................ 19 5.1.2.3 Recommendations.......................... 19 5.1.2.4 Permissions.............................. 19 5.1.2.5 Possibilities and Capabilities.................... 19 5.1.3 Syntax..................................... 20 5.1.4 Wording Restrictions............................. 20 5.1.5 Separate Requirements............................ 22 5.1.6 Conflict Free Requirements.......................... 23 5.1.7 Use of Project-Specific Terms and Abbreviations.............. 23 5.1.8 Justification of Requirements........................ 23 5.1.9 Requirement Validation............................ 23 5.1.10 Resources and Performance......................... 24 5.2 Specification Items................................... 25 5.2.1 Specification Item Hierarchy........................
    [Show full text]