I was also thinking to use compostable graph. One index by chapter and put the structure ( chapter 1/ section 1 / paragraph 1 / article 1, 2, 3...) in the summary
A simple vector index and splitting the text into articles is probably the best approach actually π If the results aren't great, there is some things to tweak like top k or chunk size. If you move to a graph, the response time will be slower