SearchOnMath is a search engine designed especially for mathematical content from several areas of knowledge.
Unlike traditional, text-only search tools, SearchOnMath is able to search for mathematical formulas and/or text. Its index has millions of different formulas, coming from the following domains:
- NIST DLMF
- Physics Forums
- StackExchange - Mathematics
- StackExchange - Physics
- Wikipedia (English version)
- Wolfram MathWorld
The SearchOnMath project began in August 2008 as part of the PhD work of Flavio Barbieri Gonzaga at the Federal University of Rio de Janeiro. His advisers were Valmir Carneiro Barbosa and Geraldo Bonorino Xexéo.
Later in that same year Flavio joined the faculty of the Federal University of Alfenas. Over the years, while Flavio, Valmir, and Xexéo worked on the major aspects of the mathematical search engine, undergraduate students developed extra features related to the project. A few milestones follow.
In 2009, Geraldo Lucas Jardim Cordeiro put together a comprehensive list of mathematical symbols and operators in MathML. From this study resulted the first prototype interface of the tool.
In 2012 and 2013, Renata Vieira Nobre expanded the set of symbols and operators compiled by Geraldo, by analyzing the formulas of DLMF. This helped in the consolidation of the symbol and operator set that is part of the current version of SearchOnMath.
In March 2013, Flavio finished his doctorate and the first version of SearchOnMath was released. This version had contributions by Jan Victor Soares and Victor Carvalho on the web interface.
In July 2014, the current version of SearchOnMath was launched. Its web interface was developed by Talysson Oliveira Cassiano and improved by Caique H. dos Santos Matos in the following years. Daniel Fernandes Rey developed some features in the backend.
Still in 2015, SearchOnMath joined the Microsoft BizSpark program, becoming a graduate in 2018.
SearchOnMath is in continual development by its current partners: Flavio Barbieri Gonzaga, Valmir Carneiro Barbosa, Gustavo Carvalho Souza, Mario Augusto F. Bueno Filho, José Carlos T. da Silva, and Reuel Ramos Ribeiro.
It currently performs its search (for mathematical formulas and/or text) on several bases of mathematical knowledge available on the Internet. The basic operation of mathematical search consists of two main elements, as follows.
Lexical analysis. This makes representation independent of notation. For example, variables can be defined with Roman letters (x, y, z, x_0, x_1, …), Greek letters (α, β, …), and so on. A similar type of flexibility is present also in various other mathematical elements, all handled by SearchOnMath.
Degree of similarity. Following the lexical analysis, a powerful engine compares the structure of the target formula with that of the other formulas contained in the database. Formulas that are more similar in structure tend to appear first on the results page.
The rendering of formulas is carried out by the MathJax tool. SearchOnMath is the first search engine to use MathJax.
A query containing both textual and mathematical elements results in a set of pages containing information of both types. That is, some textual content related to the words in the query and at least one formula with some degree of similarity to the one that was submitted.
We would love to hear about your experience with SearchOnMath. Please let us know, either by email to contact [at] searchonmath.com, or through our social-network profiles.
We would like to thank the following for financial support: