<\body> The purpose of the first extension of the basic database API is to permit searching for certain keywords in the database entries. The current implementation achieves this by maintaining afew additional tables with the list of entries in which given keywords occur. We also maintain afew additional prefix tables which allow us to search for uncompleted keywords. For efficiency reasons, the indexation is done at a low level in C++. It should be noticed that the indexation mechanism only indexates alphanumerical keywords and normalizes all keywords to lowercase. Accented characters and characters in other (cyrillic) scripts are also ``transliterated'' into basic unaccented roman characters. For instance, we write ``é'' and ``\<#449\>'' as ``e'' and ``shch''. As a consequence, a search for ``poincare'' will match ``Poincaré''. <\explain> <|explain> Specify the indexing method used within the . Currently, the can be either (no indexation), (basic indexation of the most important fields only) and (systematic indexation of all fields). <\explain> <|explain> The default behaviour is extended so as to maintain the indexation tables. <\explain> <|explain> Two types of supplementary constraints are introduced: and . The first constraint only returns entries for which occurs in one of the indexed fields. In the second case, the may also occur as a prefix of a keyword in one of the indexed fields. <\explain> <|explain> Tests whether to indexate fields for the specified attribute when using the indexing method. The test is done by looking up values in the smart table . <\explain> <|explain> Get the list of all possible completions of a into a keyword which has been indexated. <\explain> <|explain> Get the list of all names of fields which admit as a prefix. Contrary to the other indexation routines, the completions are not necessarily alphanumerical keywords, and case matters. This routine is for instance useful for the tab-completion of names of bibliographic entries.