Indexing is the process of creating indexes. Indexes are structures that allow SQL (or, more generally, a DBMS or search engine) to find, in a very efficient way , records based on the value of one (or several) of the fields that they contain.
For example, a database may include in a table containing student records, their student ID, their name, date of birth, phone number ... By creating an index on the Phone Number, we can then search for the Student based on the phone number. In the absence of an index, the system would detect the same records, but this operation would be transferred by viewing each individual record and comparing it with the desired phone number.
Indexing FullText is the process of creating an index for one (or several fields containing text). Unlike conventional indexes, based on comparing the full value of a field (or perhaps a simple regular expression) with the desired search value, the FullText index can find a record based on the words found in the field.
For example, a bibliographic database may contain records describing books with fields such as ISBN, Author, Title, Type, Price ...). A full-text index (sometimes called a "catalog") in the "Title" field would allow you to effectively find the book "Old Man and the Sea" when searching by saying the word "man."
Full-text engines typically have a built-in and parameterizable “understanding” of language concepts related to text. For example, the word “noise” (also called “stop words”) is a word often found in the text (for example, “the”, “and”, “of”, “in”, in English), can be ignored with the goal of minimizing the size of the index and a more efficient search with more selective words. In addition, the full-text engine can know various grammatical word forms, for example, single and multiple word forms (as Inch and Inches, Foot and Feet, Cat and Cats say) or conjugation of verbs (like Catch, Catching and Caught or Interpreting, Interpreting, Interpreting ) Thanks to this grammatical awareness, the FullText Engine can (if indicated) find words, even if they do not exactly match the search criteria.
The FullText engine also typically exposes a search language / syntax that allows users to specify specific elements of a desired search. For example, to search for the word “sea” in 5 words of the word “man”. Or find the word "lake" or "ocean" and the word "water", etc.