Don't worry too much about the duplicate data. The thing you do have to watch though, is ensuring that only the necessary data is stored in your Lucene indexes. So, if you aren't actually going to display full chapters directly from the index, don't store them, just index them. This way, it's not duplicate data.
Also, you will find longer-term that if you want the data to be editable, maintainable and backup-able, it will be easier to keep it stored in a database. However, this does not mean that you have to use a relational database like MySQL or MS SQL. There are many NoSQL databases options too.
I won't go into too much detail around the pros and cons of NoSQL because you can google that. But you could for instance use MongoDB to store and serve all your data instead of using your database and Lucene and it would still be very quick and a scalable solution.