Я бы предложил два подхода.
FIRST:
Если это данные данных, которые вы хотите сделать запросом по ключевому слову:
key, err := stub.CreateCompositeKey(index, []string{key1, key2, key3})
// Skiped
stub.PutState(key, value)
Поместите ключ другого атрибута, по которому вы хотите запросить, в составной ключ, а затем используйте:
getStateByPartialCompositeKey(objectType, attributes)
Таким образом, вы можете получить Книги автора или Категории, запросив их ключ вбыстрым способом.
SECOND:
Если запрос по атрибуту не требуется, просто поместите имя или идентификатор атрибута в вашу модель перед сериализацией и включите состояние.