I am using SharePoint 2013 on-premise. After investigate Enterprise keyword feature I think it is quite close to what my users need. Since my farm have mulitple site collections, I want to limit the term created to be used within site collection only. Is it possible to configure?
You cannot create Site Collection specific Term Stores, but you can create Site Collection specific (local) Term Sets. Details here.
Use local term sets.
Local term sets are created within the context of a site collection. For example, if you add a column to a list in a document library, and create a new term set to bind the column to, the new term set is local to the site collection that contains the document library.