I'm trying to build a search engine that allows my users to search with natural language commands, just like Google Now. Except, my search engine is slightly more constrained, in that it is mainly going to be used within an e-commerce site, and allow the users to search for certain devices.
Some of the features I want to provide are:
1) Allow users to search by brand 2) By model 3) by price range 4) By 3g/4g capability 5) By Operating System
etc. etc.
I built a mock version using which looks for certain keywords, like "price", "cost", "iphone 5", etc.
Is building my own dictionary/array of keywords the best way to accomplish this?
Or are there existing dictionaries/APIs to help parse my User's search query and return the appropriate information.