Primarily I think ES is an overkill here for 500 records (unless your each record is 100MB size!), the answer remains in various other questions
1) These 500 records changes very frequently? If these records are static or do not change frequently, you should cache this data in your application using plain simple Lucene and run your query against cached data.
2) Do you really need free-text search capability? (e.g. fuzzy matches, relevancy sorting and so on.) If not, running MqSQL queries with 500 records table will be extremely fast too considering Full table scan.
3) Also what is your expected "search" rate on this data? are you firing search on these 500 records 100 million times a day or 100 times a day? If you are searching at extremely high rate (>100000 times a day, please don't fire MySQL queries, use cached version of data as suggested in #1)
There are various points also to be considered as
1) SLA expectation in searching.
2) If 500 records are updated very frequently, how sooner your "search" client is expecting data to be available for search after update?
I would go for ES here only if your each record is larger data (10s of MBs) and your data updates very frequently.
Happy to discuss more on this.