Hi Michael,
Libreoffice provides a headless mode in which it can convert between different document formats. Apart from that .odt as well as .docx files are just zip containers which you can unpack to work with the contained xml code.
Converting files to plain text allows you, to index them, for a standard text search. If you don't want to do this with Libreoffice you can also use the tool catdoc, or in case of .odt extract the plaintext representation of the document from the zip container.
Performing XML transitions (XSLT based or other) on the contained XML data allows you to convert between different document templates.
Free Software provides the tools for those tasks, even for MS Word documents ;-)