Use case: "There currently isn’t an easy/efficient way for a light client to fetch relevant transactions via Tendermint RPC (we currently have to sync through all the blocks and fetch every transaction, which is not very efficient). Ideally, we could have an interface where we can filter all the transactions to get ones relevant to our wallet." (link) "for basecoin, we’d probably just tag the address of each input and output"
Tags will come from DeliverTx responses. We will need to store a map [tag] => [txResponse1, txResponse2, ..] somewhere. An external indexer (Lucene, Solar)? Internal indexer (levelDB)? Jae: "not sure what simple indexer would be able to handle tags efficiently too."
Why do we need something like Lucene to store a map? Or there will be more complex queries? Or the performance of levelDB is not sufficient?